[PATCH] ACPI: battery: Avoid dereferencing battery before NULL check

From: Alper Ak

Date: Mon Feb 09 2026 - 12:41:48 EST


acpi_battery_notify() dereferences the battery pointer before checking
for NULL. Reorder the check to ensure the pointer is validated before
use.

This issue was reported by the Smatch static analyzer.

Fixes: 08b54fd57782 ("ACPI: battery: Adjust event notification routine")
Signed-off-by: Alper Ak <alperyasinak1@xxxxxxxxx>
---
drivers/acpi/battery.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 3bbddd6f622c..abc82be69215 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -1063,12 +1063,14 @@ static void acpi_battery_refresh(struct acpi_battery *battery)
static void acpi_battery_notify(acpi_handle handle, u32 event, void *data)
{
struct acpi_battery *battery = data;
- struct acpi_device *device = battery->device;
+ struct acpi_device *device;
struct power_supply *old;

if (!battery)
return;

+ device = battery->device;
+
guard(mutex)(&battery->update_lock);

old = battery->bat;
--
2.43.0