What’s Vulnerable › Vulnerabilities

CVE-2024-27412: power: supply: bq27xxx-i2c: Do not free non existing IRQ

Description

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq27xxx-i2c: Do not free non existing IRQ The bq27xxx i2c-client may not have an IRQ, in which case client->irq will be 0. bq27xxx_battery_i2c_probe() already has an if (client->irq) check wrapping the request_threaded_irq(). But bq27xxx_battery_i2c_remove() unconditionally calls free_irq(client->irq) leading to: [ 190.310742] ------------[ cut here ]------------ [ 190.310843] Trying to free already-free IRQ 0 [ 190.310861] WARNING: CPU: 2 PID: 1304 at kernel/irq/manage.c:1893 free_irq+0x1b8/0x310 Followed by a backtrace when unbinding the driver. Add an if (client->irq) to bq27xxx_battery_i2c_remove() mirroring probe() to fix this.

Affected products

How to fix

Upgrade to a fixed version: Linux kernel 4.15, 4.19.309, 5.10.212, 5.15.151. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2024-27412 or the next vulnerability affects your stack