]> www.infradead.org Git - linux.git/commitdiff
platform/chrome: chromeos_laptop: Use kmemdup_array
authorYu Jiaoliang <yujiaoliang@vivo.com>
Fri, 23 Aug 2024 02:40:56 +0000 (10:40 +0800)
committerTzung-Bi Shih <tzungbi@kernel.org>
Fri, 23 Aug 2024 13:48:43 +0000 (21:48 +0800)
Let the kememdup_array() take care about multiplication and possible
overflows.

Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com>
Link: https://lore.kernel.org/r/20240823024056.3031644-1-yujiaoliang@vivo.com
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/platform/chrome/chromeos_laptop.c

index a2cdbfbaeae6b0ba7d2961308a0e3f76fd3a58d4..3ab668764383f57d12941930ca7107bd065bd4f6 100644 (file)
@@ -749,10 +749,9 @@ chromeos_laptop_prepare_i2c_peripherals(struct chromeos_laptop *cros_laptop,
        if (!src->num_i2c_peripherals)
                return 0;
 
-       i2c_peripherals = kmemdup(src->i2c_peripherals,
-                                             src->num_i2c_peripherals *
-                                         sizeof(*src->i2c_peripherals),
-                                         GFP_KERNEL);
+       i2c_peripherals = kmemdup_array(src->i2c_peripherals,
+                                       src->num_i2c_peripherals,
+                                       sizeof(*i2c_peripherals), GFP_KERNEL);
        if (!i2c_peripherals)
                return -ENOMEM;