Quinn Tran
b1a66a050f
scsi: qla2xxx: Fix system crash due to bad pointer access
...
[ Upstream commit 19597cad64d608aa8ac2f8aef50a50187a565223 ]
User experiences system crash when running AER error injection. The
perturbation causes the abort-all-I/O path to trigger. The driver assumes
all I/O on this path is FCP only. If there is both NVMe & FCP traffic, a
system crash happens. Add additional check to see if I/O is FCP or not
before access.
PID: 999019 TASK: ff35d769f24722c0 CPU: 53 COMMAND: "kworker/53:1"
0 [ff3f78b964847b58] machine_kexec at ffffffffae86973d
1 [ff3f78b964847ba8] __crash_kexec at ffffffffae9be29d
2 [ff3f78b964847c70] crash_kexec at ffffffffae9bf528
3 [ff3f78b964847c78] oops_end at ffffffffae8282ab
4 [ff3f78b964847c98] exc_page_fault at ffffffffaf2da502
5 [ff3f78b964847cc0] asm_exc_page_fault at ffffffffaf400b62
[exception RIP: qla2x00_abort_srb+444]
RIP: ffffffffc07b5f8c RSP: ff3f78b964847d78 RFLAGS: 00010046
RAX: 0000000000000282 RBX: ff35d74a0195a200 RCX: ff35d76886fd03a0
RDX: 0000000000000001 RSI: ffffffffc07c5ec8 RDI: ff35d74a0195a200
RBP: ff35d76913d22080 R8: ff35d7694d103200 R9: ff35d7694d103200
R10: 0000000100000000 R11: ffffffffb05d6630 R12: 0000000000010000
R13: ff3f78b964847df8 R14: ff35d768d8754000 R15: ff35d768877248e0
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
6 [ff3f78b964847d70] qla2x00_abort_srb at ffffffffc07b5f84 [qla2xxx]
7 [ff3f78b964847de0] __qla2x00_abort_all_cmds at ffffffffc07b6238 [qla2xxx]
8 [ff3f78b964847e38] qla2x00_abort_all_cmds at ffffffffc07ba635 [qla2xxx]
9 [ff3f78b964847e58] qla2x00_terminate_rport_io at ffffffffc08145eb [qla2xxx]
10 [ff3f78b964847e70] fc_terminate_rport_io at ffffffffc045987e [scsi_transport_fc]
11 [ff3f78b964847e88] process_one_work at ffffffffae914f15
12 [ff3f78b964847ed0] worker_thread at ffffffffae9154c0
13 [ff3f78b964847f10] kthread at ffffffffae91c456
14 [ff3f78b964847f50] ret_from_fork at ffffffffae8036ef
Cc: stable@vger.kernel.org
Fixes: f45bca8c5052 ("scsi: qla2xxx: Fix double scsi_done for abort path")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20231030064912.37912-1-njavali@marvell.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-12-08 08:44:28 +01:00
..
2020-10-01 13:17:56 +02:00
2021-07-25 14:35:12 +02:00
2023-03-11 16:43:47 +01:00
2019-05-21 10:50:46 +02:00
2020-08-19 08:16:09 +02:00
2023-09-23 10:59:49 +02:00
2022-04-15 14:18:32 +02:00
2022-02-08 18:24:33 +01:00
2021-07-20 16:10:43 +02:00
2021-11-17 09:48:43 +01:00
2021-07-20 16:10:43 +02:00
2020-10-01 13:18:02 +02:00
2023-04-05 11:16:36 +02:00
2019-05-30 11:26:32 -07:00
2020-01-23 08:22:58 +01:00
2023-09-23 10:59:52 +02:00
2021-02-07 15:35:48 +01:00
2023-02-06 07:52:42 +01:00
2021-05-14 09:44:25 +02:00
2022-04-20 09:19:36 +02:00
2021-07-25 14:35:13 +02:00
2023-11-28 16:50:15 +00:00
2022-10-26 13:22:41 +02:00
2023-05-30 12:44:02 +01:00
2023-11-28 16:50:18 +00:00
2023-11-08 11:23:41 +01:00
2022-04-20 09:19:37 +02:00
2021-09-22 12:26:24 +02:00
2023-06-09 10:29:01 +02:00
2023-09-23 10:59:50 +02:00
2023-09-23 10:59:39 +02:00
2023-12-08 08:44:28 +01:00
2023-09-23 10:59:49 +02:00
2022-08-25 11:17:56 +02:00
2023-08-30 16:27:27 +02:00
2019-08-12 21:58:07 -04:00
2023-11-20 10:30:13 +01:00
2022-10-26 13:22:56 +02:00
2019-03-02 11:39:54 -08:00
2023-07-27 08:37:16 +02:00
2023-08-16 18:19:25 +02:00
2019-01-08 07:58:37 -05:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2021-11-26 10:47:15 +01:00
2022-04-15 14:18:34 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:18:10 +01:00
2019-05-21 10:50:45 +02:00
2021-09-22 12:26:37 +02:00
2021-06-03 08:59:11 +02:00
2019-05-21 10:50:45 +02:00
2019-10-09 23:39:35 -04:00
2023-06-09 10:29:01 +02:00
2019-05-24 17:36:45 +02:00
2023-06-09 10:29:04 +02:00
2023-06-09 10:29:03 +02:00
2019-07-11 15:17:41 -07:00
2019-06-20 15:21:33 -04:00
2019-07-30 12:18:24 -04:00
2019-06-18 19:46:18 -04:00
2019-07-30 12:17:28 -04:00
2019-06-18 19:46:22 -04:00
2021-07-14 16:53:41 +02:00
2019-05-21 10:50:45 +02:00
2019-01-08 21:58:35 -05:00
2019-01-08 21:58:35 -05:00
2019-01-08 21:57:42 -05:00
2019-05-30 11:25:18 -07:00
2019-01-08 21:58:35 -05:00
2019-05-21 10:50:45 +02:00
2023-09-23 10:59:51 +02:00
2019-07-11 15:14:01 -07:00
2023-02-06 07:52:43 +01:00
2019-06-18 19:46:18 -04:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:36:37 +02:00
2019-07-11 15:17:41 -07:00
2019-05-21 11:28:46 +02:00
2023-03-11 16:44:13 +01:00
2020-04-01 11:01:54 +02:00
2020-06-24 17:50:37 +02:00
2023-02-22 12:50:25 +01:00
2019-05-30 11:26:37 -07:00
2021-05-14 09:44:25 +02:00
2023-06-09 10:29:04 +02:00
2019-05-24 17:36:45 +02:00
2019-07-11 15:14:01 -07:00
2022-01-11 15:23:33 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:18:10 +01:00
2019-07-17 22:39:27 +09:00
2023-05-17 11:35:41 +02:00
2020-08-19 08:16:15 +02:00
2019-05-21 10:50:45 +02:00
2020-10-29 09:58:04 +01:00
2019-05-30 11:26:39 -07:00
2022-06-14 18:12:00 +02:00
2022-02-16 12:52:49 +01:00
2019-08-07 21:53:23 -04:00
2019-05-24 17:36:45 +02:00
2020-01-04 19:18:16 +01:00
2019-06-20 15:37:02 -04:00
2019-05-24 17:39:02 +02:00
2019-05-24 17:39:02 +02:00
2022-06-22 14:11:20 +02:00
2019-05-30 11:26:35 -07:00
2019-06-20 15:21:33 -04:00
2019-05-30 11:26:38 -07:00
2019-08-16 11:33:56 -07:00
2019-08-16 11:33:56 -07:00
2019-03-19 17:11:37 -04:00
2019-08-07 21:32:53 -04:00
2019-02-13 22:07:03 -05:00
2023-08-30 16:27:27 +02:00
2019-05-24 17:36:45 +02:00
2023-01-18 11:41:18 +01:00
2022-01-27 09:19:52 +01:00
2019-05-21 06:16:21 -04:00
2023-04-05 11:16:40 +02:00
2020-07-29 10:18:27 +02:00
2019-10-03 21:43:04 -04:00
2019-05-21 06:16:21 -04:00
2023-06-09 10:28:58 +02:00
2019-08-07 21:47:29 -04:00
2019-05-30 11:26:35 -07:00
2020-06-07 13:18:50 +02:00
2019-06-18 19:46:17 -04:00
2023-08-16 18:19:24 +02:00
2023-02-22 12:50:23 +01:00
2019-05-30 11:29:53 -07:00
2022-11-10 17:57:53 +01:00
2020-01-23 08:22:59 +01:00
2019-07-11 15:14:01 -07:00
2023-09-23 10:59:49 +02:00
2020-01-23 08:22:58 +01:00
2021-01-12 20:16:09 +01:00
2021-04-21 12:56:14 +02:00
2023-04-26 11:24:03 +02:00
2019-06-05 17:37:14 +02:00
2019-11-05 23:17:53 -05:00
2021-10-09 14:39:49 +02:00
2019-08-04 21:41:29 -06:00
2023-04-20 12:07:32 +02:00
2022-08-25 11:18:17 +02:00
2019-05-24 17:36:45 +02:00
2021-05-14 09:44:25 +02:00
2022-01-27 09:19:48 +01:00
2022-01-27 09:19:48 +01:00
2021-04-07 14:47:39 +02:00
2023-06-09 10:29:00 +02:00
2023-09-23 10:59:39 +02:00
2020-01-04 19:18:10 +01:00
2021-05-14 09:44:25 +02:00
2019-05-21 10:50:45 +02:00
2021-10-17 10:42:34 +02:00
2022-01-05 12:37:46 +01:00
2022-06-22 14:11:20 +02:00
2019-08-07 21:35:59 -04:00
2019-05-24 17:39:02 +02:00
2019-07-11 15:14:01 -07:00
2022-03-11 11:22:39 +01:00
2019-05-21 10:50:45 +02:00
2022-04-15 14:18:37 +02:00
2020-01-04 19:17:37 +01:00