[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025122403-CVE-2023-54079-be62@gregkh>
Date: Wed, 24 Dec 2025 14:06:36 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2023-54079: power: supply: bq27xxx: Fix poll_interval handling and races on remove
From: Greg Kroah-Hartman <gregkh@...nel.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.
The Linux kernel CVE team has assigned CVE-2023-54079 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 4.14.316 with commit 4c9615474fb0a41cfad658d78db3c9ec70912969
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 4.19.284 with commit 465d919151a1e8d40daf366b868914f59d073211
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 5.4.244 with commit 0c5f4cec759679c290720fbcf6bb81768e21c95b
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 5.10.181 with commit e85757da9091998276ff21a13915ac25229cc232
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 5.15.114 with commit e98e5bebfcafc75a7b41192a607dfea5c1268afa
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 6.1.31 with commit d952a1eaafcc5f0351caad5dbe9b5b3300d1d529
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 6.3.5 with commit b12faeca0e819ea09051a705fef9df7ea7e9e18c
Issue introduced in 3.3 with commit 8cfaaa811894a3ae2d7360a15a6cfccff3ebc7db and fixed in 6.4 with commit c00bc80462afc7963f449d7f21d896d2f629cacc
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2023-54079
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/power/supply/bq27xxx_battery.c
include/linux/power/bq27xxx_battery.h
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/4c9615474fb0a41cfad658d78db3c9ec70912969
https://git.kernel.org/stable/c/465d919151a1e8d40daf366b868914f59d073211
https://git.kernel.org/stable/c/0c5f4cec759679c290720fbcf6bb81768e21c95b
https://git.kernel.org/stable/c/e85757da9091998276ff21a13915ac25229cc232
https://git.kernel.org/stable/c/e98e5bebfcafc75a7b41192a607dfea5c1268afa
https://git.kernel.org/stable/c/d952a1eaafcc5f0351caad5dbe9b5b3300d1d529
https://git.kernel.org/stable/c/b12faeca0e819ea09051a705fef9df7ea7e9e18c
https://git.kernel.org/stable/c/c00bc80462afc7963f449d7f21d896d2f629cacc
Powered by blists - more mailing lists