linux/drivers/scsi/qedi
Jia-Ju Bai b128458876 scsi: qedi: Fix a possible sleep-in-atomic bug in qedi_process_tmf_resp
The driver may sleep under a spinlock.
The function call path is:
qedi_cpu_offline (acquire the spinlock)
  qedi_fp_process_cqes
    qedi_mtask_completion
      qedi_process_tmf_resp
        kzalloc(GFP_KERNEL) --> may sleep

To fix it, GFP_KERNEL is replaced with GFP_ATOMIC.

This bug is found by my static analysis tool(DSAC) and checked by my
code review.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Acked-by: Manish Rangankar <Manish.Rangankar@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-12-20 21:11:51 -05:00
..
Kconfig qed: Fix iWARP out of order flow 2017-10-19 12:46:43 +01:00
Makefile qed*: Utilize Firmware 8.15.3.0 2017-03-13 15:33:09 -07:00
qedi_dbg.c scsi: qedi: return via va_end to match corresponding va_start 2017-01-05 00:31:13 -05:00
qedi_dbg.h
qedi_debugfs.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
qedi_fw_api.c qed: Utilize FW 8.20.0.0 2017-05-18 13:21:40 -04:00
qedi_fw_iscsi.h qed*: Utilize Firmware 8.15.3.0 2017-03-13 15:33:09 -07:00
qedi_fw_scsi.h qed*: Utilize Firmware 8.15.3.0 2017-03-13 15:33:09 -07:00
qedi_fw.c scsi: qedi: Fix a possible sleep-in-atomic bug in qedi_process_tmf_resp 2017-12-20 21:11:51 -05:00
qedi_gbl.h scsi: qedi: fix build error without DEBUG_FS 2017-03-06 22:22:16 -05:00
qedi_hsi.h
qedi_iscsi.c scsi: qedi: Limit number for CQ queues. 2017-08-24 22:28:50 -04:00
qedi_iscsi.h qed*: Utilize Firmware 8.15.3.0 2017-03-13 15:33:09 -07:00
qedi_main.c Merge branch 'fixes' into misc 2017-09-07 12:12:43 -07:00
qedi_nvm_iscsi_cfg.h scsi: qedi: Add support for Boot from SAN over iSCSI offload 2017-07-12 16:52:27 -04:00
qedi_sysfs.c
qedi_version.h qed*: Utilize Firmware 8.15.3.0 2017-03-13 15:33:09 -07:00
qedi.h scsi: qedi: Limit number for CQ queues. 2017-08-24 22:28:50 -04:00