wifi: lib80211: Handle const struct lib80211_crypto_ops in lib80211

lib80211_register_crypto_ops() and lib80211_unregister_crypto_ops() don't
modify their "struct lib80211_crypto_ops *ops" argument. So, it can be
declared as const.

Doing so, some adjustments are needed to also constify some date in
"struct lib80211_crypt_data", "struct lib80211_crypto_alg" and the
return value of lib80211_get_crypto_ops().

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/c74085e02f33a11327582b19c9f51c3236e85ae2.1722839425.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Christophe JAILLET 2024-08-05 08:40:37 +02:00 committed by Johannes Berg
parent 36a95e9c51
commit 3a3d1afd25
4 changed files with 10 additions and 10 deletions

View File

@ -509,7 +509,7 @@ int libipw_wx_set_encodeext(struct libipw_device *ieee,
int i, idx, ret = 0; int i, idx, ret = 0;
int group_key = 0; int group_key = 0;
const char *alg, *module; const char *alg, *module;
struct lib80211_crypto_ops *ops; const struct lib80211_crypto_ops *ops;
struct lib80211_crypt_data **crypt; struct lib80211_crypt_data **crypt;
struct libipw_security sec = { struct libipw_security sec = {

View File

@ -474,7 +474,7 @@ int rtllib_wx_set_encode_ext(struct rtllib_device *ieee,
int i, idx; int i, idx;
int group_key = 0; int group_key = 0;
const char *alg, *module; const char *alg, *module;
struct lib80211_crypto_ops *ops; const struct lib80211_crypto_ops *ops;
struct lib80211_crypt_data **crypt; struct lib80211_crypt_data **crypt;
struct rtllib_security sec = { struct rtllib_security sec = {

View File

@ -92,7 +92,7 @@ struct lib80211_crypto_ops {
struct lib80211_crypt_data { struct lib80211_crypt_data {
struct list_head list; /* delayed deletion list */ struct list_head list; /* delayed deletion list */
struct lib80211_crypto_ops *ops; const struct lib80211_crypto_ops *ops;
void *priv; void *priv;
atomic_t refcnt; atomic_t refcnt;
}; };
@ -113,9 +113,9 @@ struct lib80211_crypt_info {
int lib80211_crypt_info_init(struct lib80211_crypt_info *info, char *name, int lib80211_crypt_info_init(struct lib80211_crypt_info *info, char *name,
spinlock_t *lock); spinlock_t *lock);
void lib80211_crypt_info_free(struct lib80211_crypt_info *info); void lib80211_crypt_info_free(struct lib80211_crypt_info *info);
int lib80211_register_crypto_ops(struct lib80211_crypto_ops *ops); int lib80211_register_crypto_ops(const struct lib80211_crypto_ops *ops);
int lib80211_unregister_crypto_ops(struct lib80211_crypto_ops *ops); int lib80211_unregister_crypto_ops(const struct lib80211_crypto_ops *ops);
struct lib80211_crypto_ops *lib80211_get_crypto_ops(const char *name); const struct lib80211_crypto_ops *lib80211_get_crypto_ops(const char *name);
void lib80211_crypt_delayed_deinit(struct lib80211_crypt_info *info, void lib80211_crypt_delayed_deinit(struct lib80211_crypt_info *info,
struct lib80211_crypt_data **crypt); struct lib80211_crypt_data **crypt);

View File

@ -34,7 +34,7 @@ MODULE_LICENSE("GPL");
struct lib80211_crypto_alg { struct lib80211_crypto_alg {
struct list_head list; struct list_head list;
struct lib80211_crypto_ops *ops; const struct lib80211_crypto_ops *ops;
}; };
static LIST_HEAD(lib80211_crypto_algs); static LIST_HEAD(lib80211_crypto_algs);
@ -161,7 +161,7 @@ void lib80211_crypt_delayed_deinit(struct lib80211_crypt_info *info,
} }
EXPORT_SYMBOL(lib80211_crypt_delayed_deinit); EXPORT_SYMBOL(lib80211_crypt_delayed_deinit);
int lib80211_register_crypto_ops(struct lib80211_crypto_ops *ops) int lib80211_register_crypto_ops(const struct lib80211_crypto_ops *ops)
{ {
unsigned long flags; unsigned long flags;
struct lib80211_crypto_alg *alg; struct lib80211_crypto_alg *alg;
@ -183,7 +183,7 @@ int lib80211_register_crypto_ops(struct lib80211_crypto_ops *ops)
} }
EXPORT_SYMBOL(lib80211_register_crypto_ops); EXPORT_SYMBOL(lib80211_register_crypto_ops);
int lib80211_unregister_crypto_ops(struct lib80211_crypto_ops *ops) int lib80211_unregister_crypto_ops(const struct lib80211_crypto_ops *ops)
{ {
struct lib80211_crypto_alg *alg; struct lib80211_crypto_alg *alg;
unsigned long flags; unsigned long flags;
@ -206,7 +206,7 @@ int lib80211_unregister_crypto_ops(struct lib80211_crypto_ops *ops)
} }
EXPORT_SYMBOL(lib80211_unregister_crypto_ops); EXPORT_SYMBOL(lib80211_unregister_crypto_ops);
struct lib80211_crypto_ops *lib80211_get_crypto_ops(const char *name) const struct lib80211_crypto_ops *lib80211_get_crypto_ops(const char *name)
{ {
struct lib80211_crypto_alg *alg; struct lib80211_crypto_alg *alg;
unsigned long flags; unsigned long flags;