Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-93081

firmware: arm_scmi: Fix SCMI device destroy lifetimes

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 2fbf6c9695ad9f05e7e5c166bf43fac7cb3276b3 to < d8ecdceeb90cd2c265b222a7b65487faf68fea73affected
  • 969d8beaa2e374387bf9aa5602ef84fc50bb48d8 to < 916e27f71a80f6d77c48d1a1a5782d6d5ef9017caffected
  • 9ca67840c0ddf3f39407339624cef824a4f27599 to < a60bc2df2d323cc1342f0cf95563cae266801e20affected
  • 9ca67840c0ddf3f39407339624cef824a4f27599 to < c59b3393df1348a12308aaabd5fbc58ed6b21cf5affected
  • 9ca67840c0ddf3f39407339624cef824a4f27599 to < 6abe8fe36b29ff51d1a42c2f338972883f4751a5affected
  • 91ff1e9652fb9beb0174267d6bb38243dff211bbaffected
  • ff4273d47da81b95ed9396110bcbd1b7b7470fe8affected
  • 8a8a3547d5c4960da053df49c75bf623827a25daaffected
  • 6.6.90 to < 6.6.160affected
  • 6.12.28 to < 6.12.114affected
  • 5.15.182 to < 5.16affected
  • 6.1.138 to < 6.2affected
  • 6.14.6 to < 6.15affected

Linux Linux

Default version status: affected

  • 6.15affected
  • 0 to < 6.15unaffected
  • 6.6.160 to ≤ 6.6.*unaffected
  • 6.12.114 to ≤ 6.12.*unaffected
  • 6.18.57 to ≤ 6.18.*unaffected
  • 7.2.6 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References