diff options
author | Gleb Chesnokov <gleb.chesnokov@scst.dev> | 2023-05-17 10:22:35 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2023-05-23 00:00:16 +0200 |
commit | d54820b22e404b06b2b65877ff802cc7b31688bc (patch) | |
tree | 92dc913e4aaba259689527348b0fb5679c7b2efa /drivers/scsi/stex.c | |
parent | scsi: target: iscsi: Prevent login threads from racing between each other (diff) | |
download | linux-d54820b22e404b06b2b65877ff802cc7b31688bc.tar.xz linux-d54820b22e404b06b2b65877ff802cc7b31688bc.zip |
scsi: qla2xxx: Fix NULL pointer dereference in target mode
When target mode is enabled, the pci_irq_get_affinity() function may return
a NULL value in qla_mapq_init_qp_cpu_map() due to the qla24xx_enable_msix()
code that handles IRQ settings for target mode. This leads to a crash due
to a NULL pointer dereference.
This patch fixes the issue by adding a check for the NULL value returned by
pci_irq_get_affinity() and introducing a 'cpu_mapped' boolean flag to the
qla_qpair structure, ensuring that the qpair's CPU affinity is updated when
it has not been mapped to a CPU.
Fixes: 1d201c81d4cc ("scsi: qla2xxx: Select qpair depending on which CPU post_cmd() gets called")
Signed-off-by: Gleb Chesnokov <gleb.chesnokov@scst.dev>
Link: https://lore.kernel.org/r/56b416f2-4e0f-b6cf-d6d5-b7c372e3c6a2@scst.dev
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/stex.c')
0 files changed, 0 insertions, 0 deletions