From 616b0cebe758972f5db8f71d66c257fe1d0ff246 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 28 Nov 2025 15:31:24 -0800 Subject: [PATCH] gpio-button-hotplug: use devm_kmemdup_array Eliminates a manual memcpy. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/19932 Signed-off-by: Hauke Mehrtens --- package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c index 5b40e34950..d0e35bedee 100644 --- a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c +++ b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c @@ -463,13 +463,12 @@ static int gpio_keys_button_probe(struct platform_device *pdev, return -EINVAL; } - buttons = devm_kzalloc(dev, pdata->nbuttons * sizeof(struct gpio_keys_button), + buttons = devm_kmemdup_array(dev, pdata->buttons, pdata->nbuttons, sizeof(struct gpio_keys_button), GFP_KERNEL); if (!buttons) { dev_err(dev, "no memory for button data\n"); return -ENOMEM; } - memcpy(buttons, pdata->buttons, pdata->nbuttons * sizeof(struct gpio_keys_button)); bdev = devm_kzalloc(dev, sizeof(struct gpio_keys_button_dev) + pdata->nbuttons * sizeof(struct gpio_keys_button_data), -- 2.30.2