{"id":"CVE-2021-47622","state":"PUBLISHED","title":"scsi: ufs: Fix a deadlock in the error handler","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: ufs: Fix a deadlock in the error handler\n\nThe following deadlock has been observed on a test setup:\n\n - All tags allocated\n\n - The SCSI error handler calls ufshcd_eh_host_reset_handler()\n\n - ufshcd_eh_host_reset_handler() queues work that calls\n   ufshcd_err_handler()\n\n - ufshcd_err_handler() locks up as follows:\n\nWorkqueue: ufs_eh_wq_0 ufshcd_err_handler.cfi_jt\nCall trace:\n __switch_to+0x298/0x5d8\n __schedule+0x6cc/0xa94\n schedule+0x12c/0x298\n blk_mq_get_tag+0x210/0x480\n __blk_mq_alloc_request+0x1c8/0x284\n blk_get_request+0x74/0x134\n ufshcd_exec_dev_cmd+0x68/0x640\n ufshcd_verify_dev_init+0x68/0x35c\n ufshcd_probe_hba+0x12c/0x1cb8\n ufshcd_host_reset_and_restore+0x88/0x254\n ufshcd_reset_and_restore+0xd0/0x354\n ufshcd_err_handler+0x408/0xc58\n process_one_work+0x24c/0x66c\n worker_thread+0x3e8/0xa4c\n kthread+0x150/0x1b4\n ret_from_fork+0x10/0x30\n\nFix this lockup by making ufshcd_exec_dev_cmd() allocate a reserved\nrequest.","publishedAt":"2024-07-16T11:29:38.339Z","updatedAt":"2026-05-23T15:20:21.046Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"7252a3603015f1fd04363956f4b72a537c9f9c42","status":"affected","lessThan":"493c9e850677df8b4eda150c2364b1c1a72ed724","versionType":"git"},{"version":"7252a3603015f1fd04363956f4b72a537c9f9c42","status":"affected","lessThan":"d69d98d8edf90e25e4e09930dd36dd6d09dd6768","versionType":"git"},{"version":"7252a3603015f1fd04363956f4b72a537c9f9c42","status":"affected","lessThan":"945c3cca05d78351bba29fa65d93834cb7934c7b","versionType":"git"},{"version":"a8d2d45c70c7391386baf7863674f156da56a3d5","status":"affected","versionType":"git"},{"version":"5.4.112","status":"affected","lessThan":"5.5","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/ufs/ufshcd.c","drivers/scsi/ufs/ufshcd.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.6","versionType":"semver"},{"version":"5.15.25","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16.11","status":"unaffected","lessThanOrEqual":"5.16.*","versionType":"semver"},{"version":"5.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/ufs/ufshcd.c","drivers/scsi/ufs/ufshcd.h"]}],"references":["https://git.kernel.org/stable/c/493c9e850677df8b4eda150c2364b1c1a72ed724","https://git.kernel.org/stable/c/d69d98d8edf90e25e4e09930dd36dd6d09dd6768","https://git.kernel.org/stable/c/945c3cca05d78351bba29fa65d93834cb7934c7b"],"weaknesses":[],"ingestedAt":"2026-10-29T19:49:19.404Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2021/47xxx/CVE-2021-47622.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2021-47622","state":"PUBLISHED","datePublished":"2024-07-16T11:29:38.339Z","dateUpdated":"2026-05-23T15:20:21.046Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-07-16T11:26:52.955Z"},"containers":{"cna":{"title":"scsi: ufs: Fix a deadlock in the error handler","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: ufs: Fix a deadlock in the error handler\n\nThe following deadlock has been observed on a test setup:\n\n - All tags allocated\n\n - The SCSI error handler calls ufshcd_eh_host_reset_handler()\n\n - ufshcd_eh_host_reset_handler() queues work that calls\n   ufshcd_err_handler()\n\n - ufshcd_err_handler() locks up as follows:\n\nWorkqueue: ufs_eh_wq_0 ufshcd_err_handler.cfi_jt\nCall trace:\n __switch_to+0x298/0x5d8\n __schedule+0x6cc/0xa94\n schedule+0x12c/0x298\n blk_mq_get_tag+0x210/0x480\n __blk_mq_alloc_request+0x1c8/0x284\n blk_get_request+0x74/0x134\n ufshcd_exec_dev_cmd+0x68/0x640\n ufshcd_verify_dev_init+0x68/0x35c\n ufshcd_probe_hba+0x12c/0x1cb8\n ufshcd_host_reset_and_restore+0x88/0x254\n ufshcd_reset_and_restore+0xd0/0x354\n ufshcd_err_handler+0x408/0xc58\n process_one_work+0x24c/0x66c\n worker_thread+0x3e8/0xa4c\n kthread+0x150/0x1b4\n ret_from_fork+0x10/0x30\n\nFix this lockup by making ufshcd_exec_dev_cmd() allocate a reserved\nrequest."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"7252a3603015f1fd04363956f4b72a537c9f9c42","status":"affected","lessThan":"493c9e850677df8b4eda150c2364b1c1a72ed724","versionType":"git"},{"version":"7252a3603015f1fd04363956f4b72a537c9f9c42","status":"affected","lessThan":"d69d98d8edf90e25e4e09930dd36dd6d09dd6768","versionType":"git"},{"version":"7252a3603015f1fd04363956f4b72a537c9f9c42","status":"affected","lessThan":"945c3cca05d78351bba29fa65d93834cb7934c7b","versionType":"git"},{"version":"a8d2d45c70c7391386baf7863674f156da56a3d5","status":"affected","versionType":"git"},{"version":"5.4.112","status":"affected","lessThan":"5.5","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/ufs/ufshcd.c","drivers/scsi/ufs/ufshcd.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.6","versionType":"semver"},{"version":"5.15.25","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16.11","status":"unaffected","lessThanOrEqual":"5.16.*","versionType":"semver"},{"version":"5.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/ufs/ufshcd.c","drivers/scsi/ufs/ufshcd.h"]}],"references":[{"url":"https://git.kernel.org/stable/c/493c9e850677df8b4eda150c2364b1c1a72ed724"},{"url":"https://git.kernel.org/stable/c/d69d98d8edf90e25e4e09930dd36dd6d09dd6768"},{"url":"https://git.kernel.org/stable/c/945c3cca05d78351bba29fa65d93834cb7934c7b"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T15:20:21.046Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.6","versionEndExcluding":"5.15.25"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.6","versionEndExcluding":"5.16.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.6","versionEndExcluding":"5.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.112"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/493c9e850677df8b4eda150c2364b1c1a72ed724","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/d69d98d8edf90e25e4e09930dd36dd6d09dd6768","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/945c3cca05d78351bba29fa65d93834cb7934c7b","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-04T05:47:40.496Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2021-47622","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T17:00:01.684837Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:34:16.486Z"}}]}}}