2017-12-12 01:46:02

by Jia-Ju Bai

[permalink] [raw]
Subject: [BUG] drivers/scsi/advansys: three possible sleep-in-atomic bugs in advansys_interrupt

According to drivers/scsi/advansys.c, the kernel module may sleep in the
interrupt handler.
The function call paths are:
advansys_interrupt (interrupt handler)
AdvISR
adv_async_callback
AdvResetChipAndSB
AdvInitAsc38C1600Driver
request_firmware --> may sleep
AdvInitAsc38C0800Driver
request_firmware --> may sleep
AdvInitAsc3550Driver
request_firmware --> may sleep

I do not find a good way to fix them, so I only report.
These possible bugs are found by my static analysis tool (DSAC) and
checked by my code review.


Thanks,
Jia-Ju Bai