Bug 2300426 (CVE-2024-41053) - CVE-2024-41053 kernel: scsi: ufs: core: Fix ufshcd_abort_one racing issue
Summary: CVE-2024-41053 kernel: scsi: ufs: core: Fix ufshcd_abort_one racing issue
Keywords:
Status: NEW
Alias: CVE-2024-41053
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2301585
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-29 15:41 UTC by OSIDB Bzimport
Modified: 2024-07-31 04:19 UTC (History)
4 users (show)

Fixed In Version: kernel 6.6.41, kernel 6.9.10, kernel 6.10
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-07-29 15:41:07 UTC
In the Linux kernel, the following vulnerability has been resolved:

scsi: ufs: core: Fix ufshcd_abort_one racing issue

When ufshcd_abort_one is racing with the completion ISR, the completed tag
of the request's mq_hctx pointer will be set to NULL by ISR.  Return
success when request is completed by ISR because ufshcd_abort_one does not
need to do anything.

The racing flow is:

Thread A
ufshcd_err_handler					step 1
	...
	ufshcd_abort_one
		ufshcd_try_to_abort_task
			ufshcd_cmd_inflight(true)	step 3
		ufshcd_mcq_req_to_hwq
			blk_mq_unique_tag
				rq->mq_hctx->queue_num	step 5

Thread B
ufs_mtk_mcq_intr(cq complete ISR)			step 2
	scsi_done
		...
		__blk_mq_free_request
			rq->mq_hctx = NULL;		step 4

Below is KE back trace.
  ufshcd_try_to_abort_task: cmd at tag 41 not pending in the device.
  ufshcd_try_to_abort_task: cmd at tag=41 is cleared.
  Aborting tag 41 / CDB 0x28 succeeded
  Unable to handle kernel NULL pointer dereference at virtual address 0000000000000194
  pc : [0xffffffddd7a79bf8] blk_mq_unique_tag+0x8/0x14
  lr : [0xffffffddd6155b84] ufshcd_mcq_req_to_hwq+0x1c/0x40 [ufs_mediatek_mod_ise]
   do_mem_abort+0x58/0x118
   el1_abort+0x3c/0x5c
   el1h_64_sync_handler+0x54/0x90
   el1h_64_sync+0x68/0x6c
   blk_mq_unique_tag+0x8/0x14
   ufshcd_err_handler+0xae4/0xfa8 [ufs_mediatek_mod_ise]
   process_one_work+0x208/0x4fc
   worker_thread+0x228/0x438
   kthread+0x104/0x1d4
   ret_from_fork+0x10/0x20

Comment 1 Mauro Matteo Cascella 2024-07-30 10:54:12 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2024072928-CVE-2024-41053-e8e4@gregkh/T

Comment 2 Mauro Matteo Cascella 2024-07-30 10:54:34 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 2301585]


Note You need to log in before you can comment on or make changes to this bug.