* [PATCH v2 0/3] Constify struct lib80211_crypto_ops
@ 2024-08-05 6:40 Christophe JAILLET
2024-08-05 6:40 ` [PATCH v2 1/3] lib80211: Handle const struct lib80211_crypto_ops in lib80211 Christophe JAILLET
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Christophe JAILLET @ 2024-08-05 6:40 UTC (permalink / raw)
To: stas.yakovlev, kvalo, gregkh, davem, edumazet, kuba, pabeni,
johannes
Cc: linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors, Christophe JAILLET
This serie constify struct lib80211_crypto_ops. This sutructure is
mostly some function pointers, so having it in a read-only section
when possible is safer.
The 1st patch, update some function prototypes and data structures in
lib80211.
The 2nd patch constifies some struct lib80211_crypto_ops in lib80211.
This moves some data to a read-only section, so increase overall
security.
The 3rd patch does the same for staging/rtl8192e.
Note that the functions have looked in staging/rtl8192e look really
similar to the ones in lib80211. Maybe it could be removed in favor of
the latter.
Each patch in the serie has been compile tested only.
Changes in v2:
- patch 1: Update ipw2x00/libipw_wx.c as well [Simon Horman]
- patch 2, 3 : no changes
Christophe JAILLET (3):
lib80211: Handle const struct lib80211_crypto_ops in lib80211
lib80211: Constify struct lib80211_crypto_ops
staging: rtl8192e: Constify struct lib80211_crypto_ops
drivers/net/wireless/intel/ipw2x00/libipw_wx.c | 2 +-
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c | 2 +-
drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 2 +-
drivers/staging/rtl8192e/rtllib_crypt_wep.c | 2 +-
drivers/staging/rtl8192e/rtllib_wx.c | 2 +-
include/net/lib80211.h | 8 ++++----
net/wireless/lib80211.c | 10 +++++-----
net/wireless/lib80211_crypt_ccmp.c | 2 +-
net/wireless/lib80211_crypt_tkip.c | 2 +-
net/wireless/lib80211_crypt_wep.c | 2 +-
10 files changed, 17 insertions(+), 17 deletions(-)
--
2.45.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/3] lib80211: Handle const struct lib80211_crypto_ops in lib80211
2024-08-05 6:40 [PATCH v2 0/3] Constify struct lib80211_crypto_ops Christophe JAILLET
@ 2024-08-05 6:40 ` Christophe JAILLET
2024-08-06 8:52 ` Simon Horman
2024-08-05 6:40 ` [PATCH v2 2/3] lib80211: Constify struct lib80211_crypto_ops Christophe JAILLET
2024-08-05 6:40 ` [PATCH v2 3/3] staging: rtl8192e: " Christophe JAILLET
2 siblings, 1 reply; 9+ messages in thread
From: Christophe JAILLET @ 2024-08-05 6:40 UTC (permalink / raw)
To: stas.yakovlev, kvalo, gregkh, davem, edumazet, kuba, pabeni,
johannes
Cc: linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors, Christophe JAILLET
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>
---
Compile tested only.
Changes in v2:
- Update ipw2x00/libipw_wx.c as well [Simon Horman]
v1: https://lore.kernel.org/all/d6306f7c76015653e9539ddbcd1ed74d1681a98f.1715443223.git.christophe.jaillet@wanadoo.fr/
---
drivers/net/wireless/intel/ipw2x00/libipw_wx.c | 2 +-
drivers/staging/rtl8192e/rtllib_wx.c | 2 +-
include/net/lib80211.h | 8 ++++----
net/wireless/lib80211.c | 8 ++++----
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_wx.c b/drivers/net/wireless/intel/ipw2x00/libipw_wx.c
index 903de34028ef..dbc7153d0a3d 100644
--- a/drivers/net/wireless/intel/ipw2x00/libipw_wx.c
+++ b/drivers/net/wireless/intel/ipw2x00/libipw_wx.c
@@ -509,7 +509,7 @@ int libipw_wx_set_encodeext(struct libipw_device *ieee,
int i, idx, ret = 0;
int group_key = 0;
const char *alg, *module;
- struct lib80211_crypto_ops *ops;
+ const struct lib80211_crypto_ops *ops;
struct lib80211_crypt_data **crypt;
struct libipw_security sec = {
diff --git a/drivers/staging/rtl8192e/rtllib_wx.c b/drivers/staging/rtl8192e/rtllib_wx.c
index fbd4ec824084..c730d921463d 100644
--- a/drivers/staging/rtl8192e/rtllib_wx.c
+++ b/drivers/staging/rtl8192e/rtllib_wx.c
@@ -474,7 +474,7 @@ int rtllib_wx_set_encode_ext(struct rtllib_device *ieee,
int i, idx;
int group_key = 0;
const char *alg, *module;
- struct lib80211_crypto_ops *ops;
+ const struct lib80211_crypto_ops *ops;
struct lib80211_crypt_data **crypt;
struct rtllib_security sec = {
diff --git a/include/net/lib80211.h b/include/net/lib80211.h
index 8b47d3a51cf8..fd0f15d87d80 100644
--- a/include/net/lib80211.h
+++ b/include/net/lib80211.h
@@ -92,7 +92,7 @@ struct lib80211_crypto_ops {
struct lib80211_crypt_data {
struct list_head list; /* delayed deletion list */
- struct lib80211_crypto_ops *ops;
+ const struct lib80211_crypto_ops *ops;
void *priv;
atomic_t refcnt;
};
@@ -113,9 +113,9 @@ struct lib80211_crypt_info {
int lib80211_crypt_info_init(struct lib80211_crypt_info *info, char *name,
spinlock_t *lock);
void lib80211_crypt_info_free(struct lib80211_crypt_info *info);
-int lib80211_register_crypto_ops(struct lib80211_crypto_ops *ops);
-int lib80211_unregister_crypto_ops(struct lib80211_crypto_ops *ops);
-struct lib80211_crypto_ops *lib80211_get_crypto_ops(const char *name);
+int lib80211_register_crypto_ops(const struct lib80211_crypto_ops *ops);
+int lib80211_unregister_crypto_ops(const struct lib80211_crypto_ops *ops);
+const struct lib80211_crypto_ops *lib80211_get_crypto_ops(const char *name);
void lib80211_crypt_delayed_deinit(struct lib80211_crypt_info *info,
struct lib80211_crypt_data **crypt);
diff --git a/net/wireless/lib80211.c b/net/wireless/lib80211.c
index d66a913027e0..51e31316bcb8 100644
--- a/net/wireless/lib80211.c
+++ b/net/wireless/lib80211.c
@@ -34,7 +34,7 @@ MODULE_LICENSE("GPL");
struct lib80211_crypto_alg {
struct list_head list;
- struct lib80211_crypto_ops *ops;
+ const struct lib80211_crypto_ops *ops;
};
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);
-int lib80211_register_crypto_ops(struct lib80211_crypto_ops *ops)
+int lib80211_register_crypto_ops(const struct lib80211_crypto_ops *ops)
{
unsigned long flags;
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);
-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;
unsigned long flags;
@@ -206,7 +206,7 @@ int lib80211_unregister_crypto_ops(struct lib80211_crypto_ops *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;
unsigned long flags;
--
2.45.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/3] lib80211: Constify struct lib80211_crypto_ops
2024-08-05 6:40 [PATCH v2 0/3] Constify struct lib80211_crypto_ops Christophe JAILLET
2024-08-05 6:40 ` [PATCH v2 1/3] lib80211: Handle const struct lib80211_crypto_ops in lib80211 Christophe JAILLET
@ 2024-08-05 6:40 ` Christophe JAILLET
2024-08-06 8:53 ` Simon Horman
2024-08-05 6:40 ` [PATCH v2 3/3] staging: rtl8192e: " Christophe JAILLET
2 siblings, 1 reply; 9+ messages in thread
From: Christophe JAILLET @ 2024-08-05 6:40 UTC (permalink / raw)
To: stas.yakovlev, kvalo, gregkh, davem, edumazet, kuba, pabeni,
johannes
Cc: linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors, Christophe JAILLET
Now that functions in lib80211 handle "const struct lib80211_crypto_ops",
some structure can be constified as well.
Constifying these structures moves some data to a read-only section, so
increase overall security.
Before:
text data bss dec hex filename
7273 604 16 7893 1ed5 net/wireless/lib80211.o
After:
text data bss dec hex filename
7429 444 16 7889 1ed1 net/wireless/lib80211.o
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Compile tested only.
Changes in v2
- No changes
v1: https://lore.kernel.org/all/a1f822093dbd01f39d9afb931bece744273b8b9d.1715443223.git.christophe.jaillet@wanadoo.fr/
---
net/wireless/lib80211.c | 2 +-
net/wireless/lib80211_crypt_ccmp.c | 2 +-
net/wireless/lib80211_crypt_tkip.c | 2 +-
net/wireless/lib80211_crypt_wep.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/wireless/lib80211.c b/net/wireless/lib80211.c
index 51e31316bcb8..64c447040786 100644
--- a/net/wireless/lib80211.c
+++ b/net/wireless/lib80211.c
@@ -234,7 +234,7 @@ static void lib80211_crypt_null_deinit(void *priv)
{
}
-static struct lib80211_crypto_ops lib80211_crypt_null = {
+static const struct lib80211_crypto_ops lib80211_crypt_null = {
.name = "NULL",
.init = lib80211_crypt_null_init,
.deinit = lib80211_crypt_null_deinit,
diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211_crypt_ccmp.c
index cca5e1cf089e..5aad139130e1 100644
--- a/net/wireless/lib80211_crypt_ccmp.c
+++ b/net/wireless/lib80211_crypt_ccmp.c
@@ -418,7 +418,7 @@ static void lib80211_ccmp_print_stats(struct seq_file *m, void *priv)
ccmp->dot11RSNAStatsCCMPDecryptErrors);
}
-static struct lib80211_crypto_ops lib80211_crypt_ccmp = {
+static const struct lib80211_crypto_ops lib80211_crypt_ccmp = {
.name = "CCMP",
.init = lib80211_ccmp_init,
.deinit = lib80211_ccmp_deinit,
diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211_crypt_tkip.c
index 5c8cdf7681e3..63e68e5e121e 100644
--- a/net/wireless/lib80211_crypt_tkip.c
+++ b/net/wireless/lib80211_crypt_tkip.c
@@ -705,7 +705,7 @@ static void lib80211_tkip_print_stats(struct seq_file *m, void *priv)
tkip->dot11RSNAStatsTKIPLocalMICFailures);
}
-static struct lib80211_crypto_ops lib80211_crypt_tkip = {
+static const struct lib80211_crypto_ops lib80211_crypt_tkip = {
.name = "TKIP",
.init = lib80211_tkip_init,
.deinit = lib80211_tkip_deinit,
diff --git a/net/wireless/lib80211_crypt_wep.c b/net/wireless/lib80211_crypt_wep.c
index 6ab9957b8f96..3b148c7bef85 100644
--- a/net/wireless/lib80211_crypt_wep.c
+++ b/net/wireless/lib80211_crypt_wep.c
@@ -226,7 +226,7 @@ static void lib80211_wep_print_stats(struct seq_file *m, void *priv)
seq_printf(m, "key[%d] alg=WEP len=%d\n", wep->key_idx, wep->key_len);
}
-static struct lib80211_crypto_ops lib80211_crypt_wep = {
+static const struct lib80211_crypto_ops lib80211_crypt_wep = {
.name = "WEP",
.init = lib80211_wep_init,
.deinit = lib80211_wep_deinit,
--
2.45.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/3] staging: rtl8192e: Constify struct lib80211_crypto_ops
2024-08-05 6:40 [PATCH v2 0/3] Constify struct lib80211_crypto_ops Christophe JAILLET
2024-08-05 6:40 ` [PATCH v2 1/3] lib80211: Handle const struct lib80211_crypto_ops in lib80211 Christophe JAILLET
2024-08-05 6:40 ` [PATCH v2 2/3] lib80211: Constify struct lib80211_crypto_ops Christophe JAILLET
@ 2024-08-05 6:40 ` Christophe JAILLET
2024-08-06 8:54 ` Simon Horman
` (2 more replies)
2 siblings, 3 replies; 9+ messages in thread
From: Christophe JAILLET @ 2024-08-05 6:40 UTC (permalink / raw)
To: stas.yakovlev, kvalo, gregkh, davem, edumazet, kuba, pabeni,
johannes
Cc: linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors, Christophe JAILLET
Now that functions in lib80211 handle "const struct lib80211_crypto_ops",
some structure can be constified as well.
Constifying these structures moves some data to a read-only section, so
increase overall security.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Compile tested only.
Changes in v2:
- No changes
v1: https://lore.kernel.org/all/81be9eb42a2339eaa7466578773945a48904d3b5.1715443223.git.christophe.jaillet@wanadoo.fr/
---
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c | 2 +-
drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 2 +-
drivers/staging/rtl8192e/rtllib_crypt_wep.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c b/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
index 639877069fad..138733cb00e2 100644
--- a/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
+++ b/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
@@ -378,7 +378,7 @@ static void rtllib_ccmp_print_stats(struct seq_file *m, void *priv)
ccmp->dot11rsna_stats_ccmp_decrypt_errors);
}
-static struct lib80211_crypto_ops rtllib_crypt_ccmp = {
+static const struct lib80211_crypto_ops rtllib_crypt_ccmp = {
.name = "R-CCMP",
.init = rtllib_ccmp_init,
.deinit = rtllib_ccmp_deinit,
diff --git a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c
index dc0917b03511..74dc8326c886 100644
--- a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c
+++ b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c
@@ -678,7 +678,7 @@ static void rtllib_tkip_print_stats(struct seq_file *m, void *priv)
tkip->dot11RSNAStatsTKIPLocalMICFailures);
}
-static struct lib80211_crypto_ops rtllib_crypt_tkip = {
+static const struct lib80211_crypto_ops rtllib_crypt_tkip = {
.name = "R-TKIP",
.init = rtllib_tkip_init,
.deinit = rtllib_tkip_deinit,
diff --git a/drivers/staging/rtl8192e/rtllib_crypt_wep.c b/drivers/staging/rtl8192e/rtllib_crypt_wep.c
index 10092f6884ff..aa18c060d727 100644
--- a/drivers/staging/rtl8192e/rtllib_crypt_wep.c
+++ b/drivers/staging/rtl8192e/rtllib_crypt_wep.c
@@ -209,7 +209,7 @@ static void prism2_wep_print_stats(struct seq_file *m, void *priv)
seq_printf(m, "key[%d] alg=WEP len=%d\n", wep->key_idx, wep->key_len);
}
-static struct lib80211_crypto_ops rtllib_crypt_wep = {
+static const struct lib80211_crypto_ops rtllib_crypt_wep = {
.name = "R-WEP",
.init = prism2_wep_init,
.deinit = prism2_wep_deinit,
--
2.45.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] lib80211: Handle const struct lib80211_crypto_ops in lib80211
2024-08-05 6:40 ` [PATCH v2 1/3] lib80211: Handle const struct lib80211_crypto_ops in lib80211 Christophe JAILLET
@ 2024-08-06 8:52 ` Simon Horman
0 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2024-08-06 8:52 UTC (permalink / raw)
To: Christophe JAILLET
Cc: stas.yakovlev, kvalo, gregkh, davem, edumazet, kuba, pabeni,
johannes, linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors
On Mon, Aug 05, 2024 at 08:40:37AM +0200, Christophe JAILLET wrote:
> 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>
> ---
> Compile tested only.
>
> Changes in v2:
> - Update ipw2x00/libipw_wx.c as well [Simon Horman]
>
> v1: https://lore.kernel.org/all/d6306f7c76015653e9539ddbcd1ed74d1681a98f.1715443223.git.christophe.jaillet@wanadoo.fr/
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/3] lib80211: Constify struct lib80211_crypto_ops
2024-08-05 6:40 ` [PATCH v2 2/3] lib80211: Constify struct lib80211_crypto_ops Christophe JAILLET
@ 2024-08-06 8:53 ` Simon Horman
0 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2024-08-06 8:53 UTC (permalink / raw)
To: Christophe JAILLET
Cc: stas.yakovlev, kvalo, gregkh, davem, edumazet, kuba, pabeni,
johannes, linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors
On Mon, Aug 05, 2024 at 08:40:38AM +0200, Christophe JAILLET wrote:
> Now that functions in lib80211 handle "const struct lib80211_crypto_ops",
> some structure can be constified as well.
>
> Constifying these structures moves some data to a read-only section, so
> increase overall security.
>
> Before:
> text data bss dec hex filename
> 7273 604 16 7893 1ed5 net/wireless/lib80211.o
>
> After:
> text data bss dec hex filename
> 7429 444 16 7889 1ed1 net/wireless/lib80211.o
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/3] staging: rtl8192e: Constify struct lib80211_crypto_ops
2024-08-05 6:40 ` [PATCH v2 3/3] staging: rtl8192e: " Christophe JAILLET
@ 2024-08-06 8:54 ` Simon Horman
2024-08-07 15:52 ` Philipp Hortmann
2024-08-13 8:53 ` Greg KH
2 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2024-08-06 8:54 UTC (permalink / raw)
To: Christophe JAILLET
Cc: stas.yakovlev, kvalo, gregkh, davem, edumazet, kuba, pabeni,
johannes, linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors
On Mon, Aug 05, 2024 at 08:40:39AM +0200, Christophe JAILLET wrote:
> Now that functions in lib80211 handle "const struct lib80211_crypto_ops",
> some structure can be constified as well.
>
> Constifying these structures moves some data to a read-only section, so
> increase overall security.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/3] staging: rtl8192e: Constify struct lib80211_crypto_ops
2024-08-05 6:40 ` [PATCH v2 3/3] staging: rtl8192e: " Christophe JAILLET
2024-08-06 8:54 ` Simon Horman
@ 2024-08-07 15:52 ` Philipp Hortmann
2024-08-13 8:53 ` Greg KH
2 siblings, 0 replies; 9+ messages in thread
From: Philipp Hortmann @ 2024-08-07 15:52 UTC (permalink / raw)
To: Christophe JAILLET, stas.yakovlev, kvalo, gregkh, davem, edumazet,
kuba, pabeni, johannes
Cc: linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors
On 8/5/24 08:40, Christophe JAILLET wrote:
> Now that functions in lib80211 handle "const struct lib80211_crypto_ops",
> some structure can be constified as well.
>
> Constifying these structures moves some data to a read-only section, so
> increase overall security.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> Compile tested only.
>
> Changes in v2:
> - No changes
>
> v1: https://lore.kernel.org/all/81be9eb42a2339eaa7466578773945a48904d3b5.1715443223.git.christophe.jaillet@wanadoo.fr/
> ---
> drivers/staging/rtl8192e/rtllib_crypt_ccmp.c | 2 +-
> drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 2 +-
> drivers/staging/rtl8192e/rtllib_crypt_wep.c | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c b/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
> index 639877069fad..138733cb00e2 100644
> --- a/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
> +++ b/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
> @@ -378,7 +378,7 @@ static void rtllib_ccmp_print_stats(struct seq_file *m, void *priv)
> ccmp->dot11rsna_stats_ccmp_decrypt_errors);
> }
>
> -static struct lib80211_crypto_ops rtllib_crypt_ccmp = {
> +static const struct lib80211_crypto_ops rtllib_crypt_ccmp = {
> .name = "R-CCMP",
> .init = rtllib_ccmp_init,
> .deinit = rtllib_ccmp_deinit,
> diff --git a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c
> index dc0917b03511..74dc8326c886 100644
> --- a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c
> +++ b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c
> @@ -678,7 +678,7 @@ static void rtllib_tkip_print_stats(struct seq_file *m, void *priv)
> tkip->dot11RSNAStatsTKIPLocalMICFailures);
> }
>
> -static struct lib80211_crypto_ops rtllib_crypt_tkip = {
> +static const struct lib80211_crypto_ops rtllib_crypt_tkip = {
> .name = "R-TKIP",
> .init = rtllib_tkip_init,
> .deinit = rtllib_tkip_deinit,
> diff --git a/drivers/staging/rtl8192e/rtllib_crypt_wep.c b/drivers/staging/rtl8192e/rtllib_crypt_wep.c
> index 10092f6884ff..aa18c060d727 100644
> --- a/drivers/staging/rtl8192e/rtllib_crypt_wep.c
> +++ b/drivers/staging/rtl8192e/rtllib_crypt_wep.c
> @@ -209,7 +209,7 @@ static void prism2_wep_print_stats(struct seq_file *m, void *priv)
> seq_printf(m, "key[%d] alg=WEP len=%d\n", wep->key_idx, wep->key_len);
> }
>
> -static struct lib80211_crypto_ops rtllib_crypt_wep = {
> +static const struct lib80211_crypto_ops rtllib_crypt_wep = {
> .name = "R-WEP",
> .init = prism2_wep_init,
> .deinit = prism2_wep_deinit,
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/3] staging: rtl8192e: Constify struct lib80211_crypto_ops
2024-08-05 6:40 ` [PATCH v2 3/3] staging: rtl8192e: " Christophe JAILLET
2024-08-06 8:54 ` Simon Horman
2024-08-07 15:52 ` Philipp Hortmann
@ 2024-08-13 8:53 ` Greg KH
2 siblings, 0 replies; 9+ messages in thread
From: Greg KH @ 2024-08-13 8:53 UTC (permalink / raw)
To: Christophe JAILLET
Cc: stas.yakovlev, kvalo, davem, edumazet, kuba, pabeni, johannes,
linux-wireless, linux-staging, netdev, linux-kernel,
kernel-janitors
On Mon, Aug 05, 2024 at 08:40:39AM +0200, Christophe JAILLET wrote:
> Now that functions in lib80211 handle "const struct lib80211_crypto_ops",
> some structure can be constified as well.
>
> Constifying these structures moves some data to a read-only section, so
> increase overall security.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> Compile tested only.
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-08-13 8:53 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-05 6:40 [PATCH v2 0/3] Constify struct lib80211_crypto_ops Christophe JAILLET
2024-08-05 6:40 ` [PATCH v2 1/3] lib80211: Handle const struct lib80211_crypto_ops in lib80211 Christophe JAILLET
2024-08-06 8:52 ` Simon Horman
2024-08-05 6:40 ` [PATCH v2 2/3] lib80211: Constify struct lib80211_crypto_ops Christophe JAILLET
2024-08-06 8:53 ` Simon Horman
2024-08-05 6:40 ` [PATCH v2 3/3] staging: rtl8192e: " Christophe JAILLET
2024-08-06 8:54 ` Simon Horman
2024-08-07 15:52 ` Philipp Hortmann
2024-08-13 8:53 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).