In the Linux kernel, the following vulnerability has been resolved:
scsi: ufs: core: Set SDEV_OFFLINE when UFS is shut down
There is a history of deadlock if reboot is performed at the beginning of booting. SDEVQUIESCE was set for all LU's scsidevices by UFS shutdown, and at that time the audio driver was waiting on blkmqsubmitbio() holding a mutexlock while reading the fw binary. After that, a deadlock issue occurred while audio driver shutdown was waiting for mutexunlock of blkmqsubmitbio(). To solve this, set SDEV_OFFLINE for all LUs except WLUN, so that any I/O that comes down after a UFS shutdown will return an error.
[ 31.907781]I[0: swapper/0: 0] 1 130705007 1651079834 11289729804 0 D( 2) 3 ffffff882e208000 * init [deviceshutdown] [ 31.907793]I[0: swapper/0: 0] Mutex: 0xffffff8849a2b8b0: owner[0xffffff882e28cb00 kworker/6:0 :49] [ 31.907806]I[0: swapper/0: 0] Call trace: [ 31.907810]I[0: swapper/0: 0] _switchto+0x174/0x338 [ 31.907819]I[0: swapper/0: 0] _schedule+0x5ec/0x9cc [ 31.907826]I[0: swapper/0: 0] schedule+0x7c/0xe8 [ 31.907834]I[0: swapper/0: 0] schedulepreemptdisabled+0x24/0x40 [ 31.907842]I[0: swapper/0: 0] _mutexlock+0x408/0xdac [ 31.907849]I[0: swapper/0: 0] _mutexlockslowpath+0x14/0x24 [ 31.907858]I[0: swapper/0: 0] mutexlock+0x40/0xec [ 31.907866]I[0: swapper/0: 0] deviceshutdown+0x108/0x280 [ 31.907875]I[0: swapper/0: 0] kernelrestart+0x4c/0x11c [ 31.907883]I[0: swapper/0: 0] _arm64sysreboot+0x15c/0x280 [ 31.907890]I[0: swapper/0: 0] invokesyscall+0x70/0x158 [ 31.907899]I[0: swapper/0: 0] el0svccommon+0xb4/0xf4 [ 31.907909]I[0: swapper/0: 0] doel0svc+0x2c/0xb0 [ 31.907918]I[0: swapper/0: 0] el0svc+0x34/0xe0 [ 31.907928]I[0: swapper/0: 0] el0t64synchandler+0x68/0xb4 [ 31.907937]I[0: swapper/0: 0] el0t64sync+0x1a0/0x1a4
[ 31.908774]I[0: swapper/0: 0] 49 0 11960702 11236868007 0 D( 2) 6 ffffff882e28cb00 * kworker/6:0 [_bioqueueenter] [ 31.908783]I[0: swapper/0: 0] Call trace: [ 31.908788]I[0: swapper/0: 0] _switchto+0x174/0x338 [ 31.908796]I[0: swapper/0: 0] _schedule+0x5ec/0x9cc [ 31.908803]I[0: swapper/0: 0] schedule+0x7c/0xe8 [ 31.908811]I[0: swapper/0: 0] _bioqueueenter+0xb8/0x178 [ 31.908818]I[0: swapper/0: 0] blkmqsubmitbio+0x194/0x67c [ 31.908827]I[0: swapper/0: 0] _submitbio+0xb8/0x19c