{"id":"CVE-2026-89464","summary":"power: supply: twl4030_charger: cancel workers via devm","details":"In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: twl4030_charger: cancel workers via devm\n\nbci is devm-allocated. Two workers (bci-\u003ework and bci-\u003ecurrent_worker)\ndereference it. twl4030_bci_remove() disables charging and masks\ninterrupts. It cancels neither worker. A worker pending at remove() can\nrun after devm frees bci.\n\nThe USB transceiver comes from devm_usb_get_phy_by_node(). devm\nunregisters its notifier only after remove() returns. A cancel_work_sync()\nin remove() can then race a notifier reschedule. devm_work_autocancel()\nand devm_delayed_work_autocancel() avoid that. They cancel the workers\nduring devm release, before bci is freed.\n\nThe current_worker is registered first, since devm will cancel in\nreverse order and bci-\u003ework can reschedule current_worker.\n\n[Move comment about order into the commit message]","modified":"2026-09-13T03:47:18.186344142Z","published":"2026-09-11T19:43:25.282Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89464.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/6eba34732524067da2aad5ddfdfbc641ded10e9e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/72a2d6cd049f892853e4e2d8d8fc5e7d0244a458"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a4460e89d4088cfec2da5be33e265ef1a8e780e9"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b955da82db4170bdf1c784dc457287aa0c977378"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89464.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89464"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"d6ccc442b12102414c1343f0adacaa8a1aaa516c"},{"fixed":"72a2d6cd049f892853e4e2d8d8fc5e7d0244a458"},{"fixed":"a4460e89d4088cfec2da5be33e265ef1a8e780e9"},{"fixed":"b955da82db4170bdf1c784dc457287aa0c977378"},{"fixed":"6eba34732524067da2aad5ddfdfbc641ded10e9e"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89464.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.6.39"},{"fixed":"6.12.109"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.50"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89464.json"}}],"schema_version":"1.9.0"}