power: supply: core: Initialize struct to zero
authorLinus Walleij <linus.walleij@linaro.org>
Sun, 24 Apr 2022 22:13:01 +0000 (00:13 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Tue, 3 May 2022 15:00:37 +0000 (17:00 +0200)
As we rely on pointers in the battery info to be zero-initialized
such as in the helper function power_supply_supports_vbat2ri()
we certainly need to allocate the struct power_supply_battery_info
with kzalloc() as well. Else this happens:

Unable to handle kernel paging request at virtual address 00280000
(...)
PC is at power_supply_vbat2ri+0x50/0x12c
LR is at ab8500_fg_battery_resistance+0x34/0x108

Fixes: e9e7d165b4b0 ("power: supply: Support VBAT-to-Ri lookup tables")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/power_supply_core.c

index d925cb1..fad5890 100644 (file)
@@ -616,7 +616,7 @@ int power_supply_get_battery_info(struct power_supply *psy,
                goto out_put_node;
        }
 
-       info = devm_kmalloc(&psy->dev, sizeof(*info), GFP_KERNEL);
+       info = devm_kzalloc(&psy->dev, sizeof(*info), GFP_KERNEL);
        if (!info) {
                err = -ENOMEM;
                goto out_put_node;