CVEvulnerability
CVE-2026-93081
- Status
- Received
- Published
- 2026-09-17
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
firmware: arm_scmi: Fix SCMI device destroy lifetimes
scmi_child_dev_find() drops the reference returned by
device_find_child() before returning the scmi_device pointer. A
concurrent unregister can then release the device while the destroy path
is still using the returned pointer.
Make the lookup helper return the device_find_child() reference and keep
it until scmi_device_destroy() has finished unregistering the child.
Also split device_unregister() in __scmi_device_destroy() so the SCMI bus
ID is not made reusable until after device_del() has removed the old
scmi_dev.N name from sysfs. This avoids a new SCMI device reusing the
same ID while the old device is still registered.
The final device release callback is also a possible cleanup path when
SCMI children are deleted by driver core recursion rather than
__scmi_device_destroy(). Release the SCMI bus ID from a common helper
used by destroy, register-failure and final-release paths, and clear
scmi_dev->id after freeing it so the final release cannot free the same
ID again.
References
- https://git.kernel.org/stable/c/6abe8fe36b29ff51d1a42c2f338972883f4751a5 git.kernel.org
- https://git.kernel.org/stable/c/916e27f71a80f6d77c48d1a1a5782d6d5ef9017c git.kernel.org
- https://git.kernel.org/stable/c/a60bc2df2d323cc1342f0cf95563cae266801e20 git.kernel.org
- https://git.kernel.org/stable/c/c59b3393df1348a12308aaabd5fbc58ed6b21cf5 git.kernel.org
- https://git.kernel.org/stable/c/d8ecdceeb90cd2c265b222a7b65487faf68fea73 git.kernel.org