From: Yu Jiaoliang Date: Thu, 22 Aug 2024 07:47:43 +0000 (+0800) Subject: wifi: cfg80211: Use kmemdup_array instead of kmemdup for multiple allocation X-Git-Tag: v6.12-rc1~232^2~101^2~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=32bf7729d2e67aed4a6c537bf21d2023e3f39c45;p=thirdparty%2Fkernel%2Flinux.git wifi: cfg80211: Use kmemdup_array instead of kmemdup for multiple allocation Let the kememdup_array() take care about multiplication and possible overflows. Signed-off-by: Yu Jiaoliang Reviewed-by: Christophe JAILLET Link: https://patch.msgid.link/20240822074743.1366561-1-yujiaoliang@vivo.com Signed-off-by: Johannes Berg --- diff --git a/net/wireless/util.c b/net/wireless/util.c index edeeb056fe4da..f49b55724f834 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -2437,8 +2437,8 @@ int cfg80211_iter_combinations(struct wiphy *wiphy, if (params->num_different_channels > c->num_different_channels) continue; - limits = kmemdup(c->limits, sizeof(limits[0]) * c->n_limits, - GFP_KERNEL); + limits = kmemdup_array(c->limits, c->n_limits, sizeof(*limits), + GFP_KERNEL); if (!limits) return -ENOMEM;