CVE-2024-56621

Summary

In the Linux kernel, the following vulnerability has been resolved:

scsi: ufs: core: Cancel RTC work during ufshcd_remove()

Currently, RTC work is only cancelled during __ufshcd_wl_suspend(). When ufshcd is removed in ufshcd_remove(), RTC work is not cancelled. Due to this, any further trigger of the RTC work after ufshcd_remove() would result in a NULL pointer dereference as below:

Unable to handle kernel NULL pointer dereference at virtual address 00000000000002a4 Workqueue: events ufshcd_rtc_work Call trace: _raw_spin_lock_irqsave+0x34/0x8c pm_runtime_get_if_active+0x24/0xb4 ufshcd_rtc_work+0x124/0x19c process_scheduled_works+0x18c/0x2d8 worker_thread+0x144/0x280 kthread+0x11c/0x128 ret_from_fork+0x10/0x20

Since RTC work accesses the ufshcd internal structures, it should be cancelled when ufshcd is removed. So do that in ufshcd_remove(), as per the order in ufshcd_init().

Affected Software

VendorProductVersion RangeStatus
LinuxLinux06701a545e9a3c4e007cff6872a074bf97c40619 < 57479e37d3f69efee2f0678568274db773284bc8affected
LinuxLinux6bf999e0eb41850d5c857102535d5c53b2ede224 < 2e7a3bb0331efb292e0fb022c36bc592137f0520affected
LinuxLinux6bf999e0eb41850d5c857102535d5c53b2ede224 < 1695c4361d35b7bdadd7b34f99c9c07741e181e5affected
LinuxLinux6.8affected
LinuxLinux0 < 6.8unaffected
LinuxLinux6.12.5 <= 6.12.*unaffected
LinuxLinux6.13 <= *unaffected

Weaknesses

References