Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-93091

firmware: arm_scmi: Quiesce notifications before teardown

Description

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Quiesce notifications before teardown scmi_notification_exit() clears and releases the notification instance, but transport callbacks can still deliver incoming notifications until the TX/RX channels are freed. During remove, an RX interrupt in that window can enter scmi_notify() while notification state is being torn down and then dereference freed memory. The same ordering exists on the probe error path after notification initialization. The notification late-init worker has a separate lifetime issue: protocol event registration queues ni->init_work on the system workqueue, so destroying ni->notify_wq does not drain that work. If the devres group is released while init_work is still pending or running, the late-init worker can dereference the freed notification instance. Quiesce the notification core before TX/RX channels are torn down, then clean up the channels before releasing the notification core resources. Use disable_work_sync() so future late-init queueing is rejected and any already queued or running late-init work has completed before channel teardown starts.

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

  • 1e7cbfaa66d39e78bd24df0c78b55df68176b59e to < 6778bcabd2e0c32f73476f0bc6369013692540beaffected
  • 1e7cbfaa66d39e78bd24df0c78b55df68176b59e to < 2aac23bc0a79af41104d99823bb250fae92ba144affected
  • 1e7cbfaa66d39e78bd24df0c78b55df68176b59e to < 5e30d3d16d1a9e599be4dcea872874e65e2c277baffected
  • 1e7cbfaa66d39e78bd24df0c78b55df68176b59e to < 8e49055d0d495c9c07575ad8e111d9eaf0efb13faffected

Linux Linux

Default version status: affected

  • 5.15affected
  • 0 to < 5.15unaffected
  • 6.12.110 to ≤ 6.12.*unaffected
  • 6.18.52 to ≤ 6.18.*unaffected
  • 7.2.6 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References