In the Linux kernel, the following vulnerability has been resolved:
scsi: hisisas: Add slavedestroy interface for v3 hw
WARNING is triggered when executing link reset of remote PHY and rmmod SAS driver simultaneously. Following is the WARNING log:
WARNING: CPU: 61 PID: 21818 at drivers/base/core.c:1347 __devicelinksno_driver+0xb4/0xc0 Call trace: __devicelinksnodriver+0xb4/0xc0 devicelinksdrivercleanup+0xb0/0xfc __devicereleasedriver+0x198/0x23c devicereleasedriver+0x38/0x50 busremovedevice+0x130/0x140 device_del+0x184/0x434 _scsiremovedevice+0x118/0x150 scsiremovetarget+0x1bc/0x240 sasrphyremove+0x90/0x94 sasrphydelete+0x24/0x3c sasdestructdevices+0x64/0xa0 [libsas] sasrevalidatedomain+0xe4/0x150 [libsas] processonework+0x1e0/0x46c workerthread+0x15c/0x464 kthread+0x160/0x170 retfromfork+0x10/0x20 ---[ end trace 71e059eb58f85d4a ]---
During SAS phy up, link->status is set to DLSTATEAVAILABLE in devicelinksdriver_bound, then this setting influences _devicelinksnodriver() before driver rmmod and caused WARNING.
Add the slave_destroy interface to make sure link is removed after flush workque.