Skip to main content
← All vulnerabilities
CVE-2026-93086

firmware: arm_scmi: Avoid IDR updates while cleaning channels

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.157, 6.12.110, 6.18.52, 7.2.6
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Avoid IDR updates while cleaning channels scmi_cleanup_channels() walks the TX/RX channel IDRs with idr_for_each() to free transport resources and destroy the dedicated transport devices before calling idr_destroy(). The destroy callback removed each entry from the same IDR being walked. That is not needed for this cleanup path, and it is unsafe because idr_for_each() has not advanced its radix-tree iterator while the callback is running. Removing the current entry from the callback can invalidate the iterator state. The callback also cannot be protected by rcu_read_lock(), because scmi_device_destroy() may sleep. Leave IDR teardown to the following idr_destroy() call and keep the callback limited to device destruction.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1 · fixed in aed24a3c63920539e9de7fbfe7929a2e7c888cd2; From 05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1 · fixed in 431c6b872ba7fedcc5a3afb0ec3517db4d95d088; From 05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1 · fixed in 54e5a4f7d83db4552d963d0785be32d9df680dcd; From 05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1 · fixed in bab26acebe55e8ad3ab545abda72faa7ca28c477; From 05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1 · fixed in c38b1e19485aaa820e52cfe162525a8af67563da

  • Linux Linux

    6.3

  • KernelLinux

    From 6.3.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6

References 5

git.kernel.org