aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorShen Lichuan <shenlichuan@vivo.com>2024-08-23 19:44:41 +0800
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>2024-08-23 15:40:55 +0200
commit39dbbd4e6778ac5580313ba34409855250633c61 (patch)
tree4788023d6a420b33d646f47e539b3b4bfc6673ff
parentpinctrl: samsung: Add support for pull-up and pull-down (diff)
downloadwireguard-linux-39dbbd4e6778ac5580313ba34409855250633c61.tar.xz
wireguard-linux-39dbbd4e6778ac5580313ba34409855250633c61.zip
pinctrl: samsung: 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> Link: https://lore.kernel.org/r/20240823114441.50648-1-shenlichuan@vivo.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Diffstat (limited to '')
-rw-r--r--drivers/pinctrl/samsung/pinctrl-samsung.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index e4464ee815f9..675efa5d86a9 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -122,8 +122,8 @@ static int add_map_configs(struct device *dev, struct pinctrl_map **map,
if (WARN_ON(*num_maps == *reserved_maps))
return -ENOSPC;
- dup_configs = kmemdup(configs, num_configs * sizeof(*dup_configs),
- GFP_KERNEL);
+ dup_configs = kmemdup_array(configs, num_configs, sizeof(*dup_configs),
+ GFP_KERNEL);
if (!dup_configs)
return -ENOMEM;