]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
backlight: led_bl: Use devm_kcalloc() for array space allocation
authorQianfeng Rong <rongqianfeng@vivo.com>
Tue, 19 Aug 2025 03:58:03 +0000 (11:58 +0800)
committerLee Jones <lee@kernel.org>
Tue, 16 Sep 2025 15:48:49 +0000 (16:48 +0100)
Replace calls of devm_kzalloc() with devm_kcalloc() in led_bl_get_leds()
and led_bl_parse_levels() for safer memory allocation with built-in
overflow protection.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org>
Link: https://lore.kernel.org/r/20250819035804.433615-1-rongqianfeng@vivo.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/video/backlight/led_bl.c

index d2db157b2c290adc3a159023e9e2394fc877388c..dd03d91a6e5071c9b811a57a9a5f183152b9e8fb 100644 (file)
@@ -89,7 +89,7 @@ static int led_bl_get_leds(struct device *dev,
                return -EINVAL;
        }
 
-       leds = devm_kzalloc(dev, sizeof(struct led_classdev *) * nb_leds,
+       leds = devm_kcalloc(dev, nb_leds, sizeof(struct led_classdev *),
                            GFP_KERNEL);
        if (!leds)
                return -ENOMEM;
@@ -137,7 +137,7 @@ static int led_bl_parse_levels(struct device *dev,
                unsigned int db;
                u32 *levels = NULL;
 
-               levels = devm_kzalloc(dev, sizeof(u32) * num_levels,
+               levels = devm_kcalloc(dev, num_levels, sizeof(u32),
                                      GFP_KERNEL);
                if (!levels)
                        return -ENOMEM;