From: Pedro Demarchi Gomes Date: Tue, 7 Oct 2025 12:00:57 +0000 (-0300) Subject: ALSA: usb: fpc: replace kmalloc_array followed by copy_from_user with memdup_array_user X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f4ace70faa8ff2890774bac86762e036a3651066;p=users%2Fjedix%2Flinux-maple.git ALSA: usb: fpc: replace kmalloc_array followed by copy_from_user with memdup_array_user Replace kmalloc_array() followed by copy_from_user() with memdup_array_user() to improve and simplify fcp_ioctl_set_meter_map(). No functional changes intended. Signed-off-by: Pedro Demarchi Gomes Signed-off-by: Takashi Iwai --- diff --git a/sound/usb/fcp.c b/sound/usb/fcp.c index 5ee8d8b66058..11e9a96b46ff 100644 --- a/sound/usb/fcp.c +++ b/sound/usb/fcp.c @@ -641,12 +641,9 @@ static int fcp_ioctl_set_meter_map(struct usb_mixer_interface *mixer, return -EINVAL; /* Allocate and copy the map data */ - tmp_map = kmalloc_array(map.map_size, sizeof(s16), GFP_KERNEL); - if (!tmp_map) - return -ENOMEM; - - if (copy_from_user(tmp_map, arg->map, map.map_size * sizeof(s16))) - return -EFAULT; + tmp_map = memdup_array_user(arg->map, map.map_size, sizeof(s16)); + if (IS_ERR(tmp_map)) + return PTR_ERR(tmp_map); err = validate_meter_map(tmp_map, map.map_size, map.meter_slots); if (err < 0)