aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShen Lichuan <[email protected]>2024-08-27 15:21:15 +0800
committerJohannes Berg <[email protected]>2024-08-27 10:28:56 +0200
commitd07e1f5c745058d1805e7d8042b9a326b120cb6e (patch)
treec5941072c9bf6c32512349261a817f4a06698e05
parent32bf7729d2e67aed4a6c537bf21d2023e3f39c45 (diff)
wifi: mac80211: use kmemdup_array instead of kmemdup for multiple allocation
Let the kmemdup_array() take care about multiplication and possible overflows. Using kmemdup_array() is more appropriate and makes the code easier to audit. Signed-off-by: Shen Lichuan <[email protected]> Reviewed-by: Michal Swiatkowski <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Johannes Berg <[email protected]>
-rw-r--r--net/mac80211/main.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index a3104b6ea6f0..89084690350f 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -1051,9 +1051,9 @@ static int ieee80211_init_cipher_suites(struct ieee80211_local *local)
return 0;
/* Driver provides cipher suites, but we need to exclude WEP */
- suites = kmemdup(local->hw.wiphy->cipher_suites,
- sizeof(u32) * local->hw.wiphy->n_cipher_suites,
- GFP_KERNEL);
+ suites = kmemdup_array(local->hw.wiphy->cipher_suites,
+ local->hw.wiphy->n_cipher_suites,
+ sizeof(u32), GFP_KERNEL);
if (!suites)
return -ENOMEM;