CVE-2023-54079

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

State
Published
Severity
7.8 High
Published
Dec 24, 2025
Updated
Aug 5, 2026
Reserved
Dec 24, 2025

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before 4c9615474fb0a41cfad658d78db3c9ec70912969Affected
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before 465d919151a1e8d40daf366b868914f59d073211Affected
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before 0c5f4cec759679c290720fbcf6bb81768e21c95bAffected
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before e85757da9091998276ff21a13915ac25229cc232Affected
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before e98e5bebfcafc75a7b41192a607dfea5c1268afaAffected
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before d952a1eaafcc5f0351caad5dbe9b5b3300d1d529Affected
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before b12faeca0e819ea09051a705fef9df7ea7e9e18cAffected
  • 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db to before c00bc80462afc7963f449d7f21d896d2f629caccAffected
LinuxLinux
  • 3.3Affected
  • before 3.3Not affected
  • 4.14.316 through 4.14.*Not affected
  • 4.19.284 through 4.19.*Not affected
  • 5.4.244 through 5.4.*Not affected
  • 5.10.181 through 5.10.*Not affected
  • 5.15.114 through 5.15.*Not affected
  • 6.1.31 through 6.1.*Not affected
  • 6.3.5 through 6.3.*Not affected
  • 6.4 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.