]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
power: supply: cpcap-charger: Fix null check for power_supply_get_by_name
authorCharles Han <hanchunchao@inspur.com>
Mon, 19 May 2025 02:47:41 +0000 (10:47 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:13:50 +0000 (12:13 +0200)
[ Upstream commit d9fa3aae08f99493e67fb79413c0e95d30fca5e9 ]

In the cpcap_usb_detect() function, the power_supply_get_by_name()
function may return `NULL` instead of an error pointer.
To prevent potential null pointer dereferences, Added a null check.

Fixes: eab4e6d953c1 ("power: supply: cpcap-charger: get the battery inserted infomation from cpcap-battery")
Signed-off-by: Charles Han <hanchunchao@inspur.com>
Link: https://lore.kernel.org/r/20250519024741.5846-1-hanchunchao@inspur.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/power/supply/cpcap-charger.c

index 91e7292d86bb77b7c618e52c20e8f49e1aaf7f07..66dc622159a6bbe94c099bb63fcf51ac75cb304e 100644 (file)
@@ -688,9 +688,8 @@ static void cpcap_usb_detect(struct work_struct *work)
                struct power_supply *battery;
 
                battery = power_supply_get_by_name("battery");
-               if (IS_ERR_OR_NULL(battery)) {
-                       dev_err(ddata->dev, "battery power_supply not available %li\n",
-                                       PTR_ERR(battery));
+               if (!battery) {
+                       dev_err(ddata->dev, "battery power_supply not available\n");
                        return;
                }