* [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* 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
* [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* 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
* [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 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