Gleb Chesnokov 3c29c6e8cd scsi: qla2xxx: Fix NULL pointer dereference in target mode
[ Upstream commit d54820b22e404b06b2b65877ff802cc7b31688bc ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-10-06 13:18:20 +02:00
..
2021-07-11 10:59:53 -07:00
2021-09-07 19:13:42 -07:00
2021-01-22 21:14:08 -05:00
2021-01-22 21:14:07 -05:00
2021-01-22 21:14:08 -05:00
2021-05-31 22:48:21 -04:00
2020-09-02 22:49:06 -04:00
2021-05-31 22:48:21 -04:00
2021-04-13 00:20:48 -04:00
2020-12-07 20:24:09 -05:00
2022-02-16 12:56:14 +01:00
2020-12-07 20:24:09 -05:00
2021-05-31 22:48:23 -04:00
2021-05-21 16:59:33 -04:00
2021-03-24 23:03:43 -04:00
2020-10-14 15:15:35 -07:00
2022-01-27 11:05:03 +01:00
2021-08-23 12:54:30 -06:00
2023-06-09 10:32:29 +02:00
2021-04-13 00:20:48 -04:00
2021-08-16 13:33:24 -04:00