diff options
author | Shen Lichuan <shenlichuan@vivo.com> | 2024-08-27 15:21:15 +0800 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-08-27 10:28:56 +0200 |
commit | d07e1f5c745058d1805e7d8042b9a326b120cb6e (patch) | |
tree | c5941072c9bf6c32512349261a817f4a06698e05 /net | |
parent | 32bf7729d2e67aed4a6c537bf21d2023e3f39c45 (diff) | |
download | linux-stable-d07e1f5c745058d1805e7d8042b9a326b120cb6e.tar.gz linux-stable-d07e1f5c745058d1805e7d8042b9a326b120cb6e.tar.bz2 linux-stable-d07e1f5c745058d1805e7d8042b9a326b120cb6e.zip |
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 <shenlichuan@vivo.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/20240827072115.42680-1-shenlichuan@vivo.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/main.c | 6 |
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; |