[PATCH v1] net: wireless: Use kmemdup_array instead of kmemdup for multiple allocation

Yu Jiaoliang posted 1 patch 1 year, 5 months ago
net/wireless/util.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH v1] net: wireless: Use kmemdup_array instead of kmemdup for multiple allocation
Posted by Yu Jiaoliang 1 year, 5 months ago
Let the kememdup_array() take care about multiplication and possible
overflows.

Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com>
---
 net/wireless/util.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index 9a7c3adc8a3b..6cf19dda5d2a 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -2435,8 +2435,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[0]),
+				       GFP_KERNEL);
 		if (!limits)
 			return -ENOMEM;
 
-- 
2.34.1
Re: [PATCH v1] net: wireless: Use kmemdup_array instead of kmemdup for multiple allocation
Posted by Christophe JAILLET 1 year, 5 months ago
Le 21/08/2024 à 09:24, Yu Jiaoliang a écrit :
> Let the kememdup_array() take care about multiplication and possible
> overflows.
> 
> Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com>
> ---
>   net/wireless/util.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/net/wireless/util.c b/net/wireless/util.c
> index 9a7c3adc8a3b..6cf19dda5d2a 100644
> --- a/net/wireless/util.c
> +++ b/net/wireless/util.c
> @@ -2435,8 +2435,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[0]),

Maybe sizeof(*limits) would be a more usual pattern?

CJ

> +				       GFP_KERNEL);
>   		if (!limits)
>   			return -ENOMEM;
>   

Re: [PATCH v1] net: wireless: Use kmemdup_array instead of kmemdup for multiple allocation
Posted by Kalle Valo 1 year, 5 months ago
Yu Jiaoliang <yujiaoliang@vivo.com> writes:

> Let the kememdup_array() take care about multiplication and possible
> overflows.
>
> Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com>
> ---
>  net/wireless/util.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

The title prefix should be "wifi: cfg80211:".

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches