In the Linux kernel, the following vulnerability has been resolved:
scsi: scsitransportsas: Fix error handling in sasphyadd()
If transportadddevice() fails in sasphyadd(), the kernel will crash trying to delete the device in transportremovedevice() called from sasremovehost().
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000108 CPU: 61 PID: 42829 Comm: rmmod Kdump: loaded Tainted: G W 6.1.0-rc1+ #173 pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : devicedel+0x54/0x3d0 lr : devicedel+0x37c/0x3d0 Call trace: devicedel+0x54/0x3d0 attributecontainerclassdevicedel+0x28/0x38 transportremoveclassdev+0x6c/0x80 attributecontainerdevicetrigger+0x108/0x110 transportremovedevice+0x28/0x38 sasphydelete+0x30/0x60 [scsitransportsas] dosasphydelete+0x6c/0x80 [scsitransportsas] deviceforeachchild+0x68/0xb0 sasremovechildren+0x40/0x50 [scsitransportsas] sasremovehost+0x20/0x38 [scsitransportsas] hisisasremove+0x40/0x68 [hisisasmain] hisisasv2remove+0x20/0x30 [hisisasv2hw] platform_remove+0x2c/0x60
Fix this by checking and handling return value of transportadddevice() in sasphyadd().