CVE-2026-89464

Not scored yetLast modified Oct 19, 2026

Description

In the Linux kernel, the following vulnerability has been resolved:

power: supply: twl4030_charger: cancel workers via devm

bci is devm-allocated. Two workers (bci->work and bci->current_worker) dereference it. twl4030_bci_remove() disables charging and masks interrupts. It cancels neither worker. A worker pending at remove() can run after devm frees bci.

The USB transceiver comes from devm_usb_get_phy_by_node(). devm unregisters its notifier only after remove() returns. A cancel_work_sync() in remove() can then race a notifier reschedule. devm_work_autocancel() and devm_delayed_work_autocancel() avoid that. They cancel the workers during devm release, before bci is freed.

The current_worker is registered first, since devm will cancel in reverse order and bci->work can reschedule current_worker.

[Move comment about order into the commit message]

Metrics

No CVSS score has been published yet.

Affected software

Source: the vendor's advisory (CNA). NVD analysis pending.

VendorProductVersions
LinuxLinux>= d6ccc442b12102414c1343f0adacaa8a1aaa516c, < 9644c96ef8646c65d46caa5139a6631e29b79d6c; >= d6ccc442b12102414c1343f0adacaa8a1aaa516c, < e9fffe10bd791082263c1678f2f6cdd6d7b487e0; >= d6ccc442b12102414c1343f0adacaa8a1aaa516c, < c46c205bab0dfce4dd54aeb49da3f183e1fdfc63; >= d6ccc442b12102414c1343f0adacaa8a1aaa516c, < 72a2d6cd049f892853e4e2d8d8fc5e7d0244a458; >= d6ccc442b12102414c1343f0adacaa8a1aaa516c, < a4460e89d4088cfec2da5be33e265ef1a8e780e9; >= d6ccc442b12102414c1343f0adacaa8a1aaa516c, < b955da82db4170bdf1c784dc457287aa0c977378; >= d6ccc442b12102414c1343f0adacaa8a1aaa516c, < 6eba34732524067da2aad5ddfdfbc641ded10e9e
LinuxLinux2.6.39

References

Timeline

Published
Sep 11, 2026
Last modified
Oct 19, 2026
NVD status
Received

Related CVEs from 2026

CVE-2026-894658.4In the Linux kernel, the following vulnerability has been resolved: power: supply: rt9455: quiesce delayed work before teardown The threadCVE-2026-894667.7In the Linux kernel, the following vulnerability has been resolved: power: supply: qcom_battmgr: terminate the strings from firmware The qCVE-2026-89467In the Linux kernel, the following vulnerability has been resolved: power: supply: qcom_battmgr: fix use-after-free qcom_battmgr_pdr_notifCVE-2026-89468In the Linux kernel, the following vulnerability has been resolved: power: supply: lp8788-charger: fix use-after-free on remove lp8788_chaCVE-2026-894698.4In the Linux kernel, the following vulnerability has been resolved: power: supply: lp8727: fix use-after-free in lp8727_release_irq() lp87CVE-2026-89477.3Use-after-free in the DOM: Bindings (WebIDL) component. This vulnerability was fixed in Firefox 151, Firefox ESR 115.36, Firefox ESR 140.11,CVE-2026-894708.4In the Linux kernel, the following vulnerability has been resolved: power: supply: cros_usbpd: Limit port counts to EC_USB_PD_MAX_PORTS CuCVE-2026-894718.4In the Linux kernel, the following vulnerability has been resolved: power: supply: cros_usbpd-charger: bound the EC-reported port count crCVE-2026-894727.8In the Linux kernel, the following vulnerability has been resolved: power: supply: charger-manager: register regulators before exposing sysCVE-2026-89473In the Linux kernel, the following vulnerability has been resolved: power: supply: bq25890: Fix power_supply reference leak bq25890_fw_proCVE-2026-89474In the Linux kernel, the following vulnerability has been resolved: power: supply: bq256xx: drain usb_work before freeing the charger The CVE-2026-89475In the Linux kernel, the following vulnerability has been resolved: power: supply: bq24257: fix use-after-free on remove The STAT-pin inte
CVE-2026-89464: Unscored | Vulnix