Description
In the Linux kernel, the following vulnerability has been resolved: scsi: core: ufs: Fix a hang in the error handler ufshcd_err_handling_prepare() calls ufshcd_rpm_get_sync(). The latter function can only succeed if UFSHCD_EH_IN_PROGRESS is not set because resuming involves submitting a SCSI command and ufshcd_queuecommand() returns SCSI_MLQUEUE_HOST_BUSY if UFSHCD_EH_IN_PROGRESS is set. Fix this hang by setting UFSHCD_EH_IN_PROGRESS after ufshcd_rpm_get_sync() has been called instead of before. Backtrace: __switch_to+0x174/0x338 __schedule+0x600/0x9e4 schedule+0x7c/0xe8 schedule_timeout+0xa4/0x1c8 io_schedule_timeout+0x48/0x70 wait_for_common_io+0xa8/0x160 //waiting on START_STOP wait_for_completion_io_timeout+0x10/0x20 blk_execute_rq+0xe4/0x1e4 scsi_execute_cmd+0x108/0x244 ufshcd_set_dev_pwr_mode+0xe8/0x250 __ufshcd_wl_resume+0x94/0x354 ufshcd_wl_runtime_resume+0x3c/0x174 scsi_runtime_resume+0x64/0xa4 rpm_resume+0x15c/0xa1c __pm_runtime_resume+0x4c/0x90 // Runtime resume ongoing ufshcd_err_handler+0x1a0/0xd08 process_one_work+0x174/0x808 worker_thread+0x15c/0x490 kthread+0xf4/0x1ec ret_from_fork+0x10/0x20 [ bvanassche: rewrote patch description ]
Product status
62694735ca95c74dac4eb9068d59801ac0ddebaf (git) before f210ea4e7a790c9f5e613e5302175abd539fe9d5
62694735ca95c74dac4eb9068d59801ac0ddebaf (git) before f592eb12b43f21dbc972cbe583a12d256901e569
62694735ca95c74dac4eb9068d59801ac0ddebaf (git) before ded80255c59a57cd3270d98461f6508730f9767c
62694735ca95c74dac4eb9068d59801ac0ddebaf (git) before 21f071261f946c5ca1adf378f818082a112b34d2
62694735ca95c74dac4eb9068d59801ac0ddebaf (git) before 3464a707d137efc8aea1d4ae234d26a28d82b78c
62694735ca95c74dac4eb9068d59801ac0ddebaf (git) before bb37f795d01961286b8f768a6d7152f32b589067
62694735ca95c74dac4eb9068d59801ac0ddebaf (git) before 8a3514d348de87a9d5e2ac00fbac4faae0b97996
3.12
Any version before 3.12
5.10.248 (semver)
5.15.186 (semver)
6.1.142 (semver)
6.6.94 (semver)
6.12.34 (semver)
6.15.3 (semver)
6.16 (original_commit_for_fix)
References
lists.debian.org/debian-lts-announce/2025/10/msg00008.html
git.kernel.org/...c/f210ea4e7a790c9f5e613e5302175abd539fe9d5
git.kernel.org/...c/f592eb12b43f21dbc972cbe583a12d256901e569
git.kernel.org/...c/ded80255c59a57cd3270d98461f6508730f9767c
git.kernel.org/...c/21f071261f946c5ca1adf378f818082a112b34d2
git.kernel.org/...c/3464a707d137efc8aea1d4ae234d26a28d82b78c
git.kernel.org/...c/bb37f795d01961286b8f768a6d7152f32b589067
git.kernel.org/...c/8a3514d348de87a9d5e2ac00fbac4faae0b97996