{"id":"CVE-2026-93084","summary":"firmware: arm_scmi: Drop handle on protocol bind failures","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nfirmware: arm_scmi: Drop handle on protocol bind failures\n\nThe SCMI bus notifier acquires an SCMI handle when the driver core emits\nBUS_NOTIFY_BIND_DRIVER, before invoking the protocol driver probe\ncallback. The protocol probe path only checks whether sdev-\u003ehandle is\nset.\n\nIf device_link_add() fails after the handle has been acquired, the\nprotocol device can still bind with a valid handle but without the\ndependency link to the SCMI parent. A concurrent parent unbind can then\nmiss the child and tear down the SCMI instance while the child still\nholds a handle into it.\n\nIf the protocol driver probe later fails, for example with\n-EPROBE_DEFER, the driver core emits BUS_NOTIFY_DRIVER_NOT_BOUND rather\nthan BUS_NOTIFY_UNBOUND_DRIVER. The SCMI notifier only released the\nhandle on BUS_NOTIFY_UNBOUND_DRIVER, so each failed protocol-device bind\nleaked the SCMI instance users refcount and left sdev-\u003ehandle set after\nthe failed probe.\n\nMake the link helper report failure and drop the acquired handle if the\nlink cannot be created. Also handle BUS_NOTIFY_DRIVER_NOT_BOUND in the\nsame cleanup path used for unbind so failed probes balance the earlier\nBUS_NOTIFY_BIND_DRIVER acquisition.","modified":"2026-09-19T03:47:26.827716314Z","published":"2026-09-17T16:11:03.659Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93084.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/0f860db24ee95e5da4866303a35e55098b9641b3"},{"type":"WEB","url":"https://git.kernel.org/stable/c/77d2985d1e80e67f32026fc03e975c4c83cc543d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a54dc23e8bd2246c28eafffa60b4634f0d1a11cc"},{"type":"WEB","url":"https://git.kernel.org/stable/c/df273eced7cec550465fd1bb82a5d2c3c7d3c437"},{"type":"WEB","url":"https://git.kernel.org/stable/c/e3a5c30d233ca5d3e799a80da806554c703bda13"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93084.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93084"},{"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":"971fc0665f1361f23251e4d85fac4aed1b683505"},{"fixed":"0f860db24ee95e5da4866303a35e55098b9641b3"},{"fixed":"df273eced7cec550465fd1bb82a5d2c3c7d3c437"},{"fixed":"a54dc23e8bd2246c28eafffa60b4634f0d1a11cc"},{"fixed":"77d2985d1e80e67f32026fc03e975c4c83cc543d"},{"fixed":"e3a5c30d233ca5d3e799a80da806554c703bda13"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93084.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.3.0"},{"fixed":"6.6.157"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.110"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93084.json"}}],"schema_version":"1.9.0"}