CVE-2023-54079

power: supply: bq27xxx: Fix poll_interval handling and races on remove

HIGH
7.8
CVSS Score
Published: December 24, 2025 at 01:06 PM UTC
Updated: August 5, 2026 at 10:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq27xxx: Fix poll_interval handling and races on remove Before this patch bq27xxx_battery_teardown() was setting poll_interval = 0 to avoid bq27xxx_battery_update() requeuing the delayed_work item. There are 2 problems with this: 1. If the driver is unbound through sysfs, rather then the module being rmmod-ed, this changes poll_interval unexpectedly 2. This is racy, after it being set poll_interval could be changed before bq27xxx_battery_update() checks it through /sys/module/bq27xxx_battery/parameters/poll_interval Fix this by added a removed attribute to struct bq27xxx_device_info and using that instead of setting poll_interval to 0. There also is another poll_interval related race on remove(), writing /sys/module/bq27xxx_battery/parameters/poll_interval will requeue the delayed_work item for all devices on the bq27xxx_battery_devices list and the device being removed was only removed from that list after cancelling the delayed_work item. Fix this by moving the removal from the bq27xxx_battery_devices list to before cancelling the delayed_work item.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.3 ≤ v < 4.14.3163.3 ≤ v < 4.19.2843.3 ≤ v < 5.10.1813.3 ≤ v < 5.15.1143.3 ≤ v < 5.4.2443.3 ≤ v < 6.1.313.3 ≤ v < 6.3.53.3 ≤ v < 6.43.38cfaaa811894a3ae2d7360a15a6cfccff3ebc7db
Vendor states this is fixed in 0c5f4cec759679c290720fbcf6bb81768e21c95b (fixed)
Vendor states this is fixed in 465d919151a1e8d40daf366b868914f59d073211 (fixed)
Vendor states this is fixed in 4c9615474fb0a41cfad658d78db3c9ec70912969 (fixed)
Vendor states this is fixed in b12faeca0e819ea09051a705fef9df7ea7e9e18c (fixed)
Vendor states this is fixed in c00bc80462afc7963f449d7f21d896d2f629cacc (fixed)
Vendor states this is fixed in d952a1eaafcc5f0351caad5dbe9b5b3300d1d529 (fixed)
Vendor states this is fixed in e85757da9091998276ff21a13915ac25229cc232 (fixed)
Vendor states this is fixed in e98e5bebfcafc75a7b41192a607dfea5c1268afa (fixed)
Vendor states this is fixed in 3.3 (unaffected)
Vendor states this is fixed in 4.14.316 (unaffected)
Vendor states this is fixed in 4.19.284 (unaffected)
Vendor states this is fixed in 5.10.181 (unaffected)
Vendor states this is fixed in 5.15.114 (unaffected)
Vendor states this is fixed in 5.4.244 (unaffected)
Vendor states this is fixed in 6.1.31 (unaffected)
Vendor states this is fixed in 6.3.5 (unaffected)
Vendor states this is fixed in 6.4 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusDEFERRED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card