Quinn Tran
be079aa71a
scsi: qla2xxx: Fix system crash due to bad pointer access
...
commit 19597cad64d608aa8ac2f8aef50a50187a565223 upstream.
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-28 16:56:27 +00:00
..
2021-08-11 22:25:38 -04:00
2021-07-11 10:59:53 -07:00
2023-03-10 09:39:28 +01:00
2021-06-18 23:26:33 -04:00
2021-10-04 21:54:18 -04:00
2023-09-19 12:22:45 +02:00
2022-04-13 20:59:02 +02:00
2022-02-08 18:34:11 +01:00
2022-08-17 14:23:45 +02:00
2021-11-18 19:16:52 +01:00
2022-10-26 12:35:15 +02:00
2021-09-07 19:13:42 -07:00
2023-03-30 12:47:45 +02:00
2022-12-31 13:14:44 +01:00
2021-06-02 01:37:04 -04:00
2023-09-19 12:22:47 +02:00
2023-08-16 18:22:03 +02:00
2023-11-28 16:56:18 +00:00
2023-11-28 16:56:18 +00:00
2022-04-20 09:34:15 +02:00
2021-08-11 22:25:43 -04:00
2023-11-28 16:56:19 +00:00
2022-10-26 12:35:15 +02:00
2023-09-23 11:10:01 +02:00
2023-11-28 16:56:27 +00:00
2023-01-18 11:48:53 +01:00
2023-11-28 16:56:27 +00:00
2022-04-20 09:34:17 +02:00
2021-08-09 23:30:25 -04:00
2023-10-06 13:18:17 +02:00
2023-10-06 13:18:15 +02:00
2023-09-19 12:22:29 +02:00
2023-11-28 16:56:27 +00:00
2023-09-19 12:22:45 +02:00
2022-08-17 14:23:51 +02:00
2023-08-30 16:18:21 +02:00
2021-08-11 22:25:42 -04:00
2023-11-20 11:08:23 +01:00
2022-10-26 12:35:46 +02:00
2021-05-15 18:01:34 -04:00
2021-03-18 22:18:09 -04:00
2021-01-22 21:14:08 -05:00
2023-07-23 13:47:11 +02:00
2021-01-22 21:14:07 -05:00
2023-08-16 18:22:03 +02:00
2021-05-07 00:26:34 -07:00
2021-03-29 23:33:06 -04:00
2021-11-25 09:48:27 +01:00
2022-04-13 20:59:07 +02:00
2021-08-11 22:25:38 -04:00
2021-01-13 00:14:07 -05:00
2021-06-18 23:27:04 -04:00
2020-11-23 22:12:09 -05:00
2021-03-15 22:29:00 -04:00
2021-01-22 21:14:08 -05:00
2021-08-01 13:27:46 -04:00
2021-05-14 22:19:04 -04:00
2021-07-28 22:24:25 -04:00
2021-06-02 23:09:39 -04:00
2022-06-09 10:23:22 +02:00
2021-01-22 21:14:10 -05:00
2023-06-09 10:32:34 +02:00
2023-06-09 10:32:34 +02:00
2021-05-31 22:48:21 -04:00
2021-01-26 07:42:27 +01:00
2021-05-31 22:48:24 -04:00
2020-07-08 01:12:44 -04:00
2021-06-02 01:37:04 -04:00
2021-01-26 07:42:27 +01:00
2023-09-19 12:22:47 +02:00
2021-04-01 22:52:40 -04:00
2023-02-01 08:27:22 +01:00
2020-09-02 22:49:06 -04:00
2021-05-31 22:48:21 -04:00
2021-06-18 23:01:03 -04:00
2021-03-18 23:35:55 -04:00
2021-01-22 21:14:10 -05:00
2023-03-11 13:57:31 +01:00
2021-06-29 16:46:08 -04:00
2021-08-11 22:25:39 -04:00
2021-05-07 00:26:34 -07:00
2023-04-13 16:48:24 +02:00
2022-10-26 12:35:16 +02:00
2021-04-13 00:20:48 -04:00
2023-06-09 10:32:34 +02:00
2021-08-30 10:18:25 +02:00
2022-04-27 14:38:56 +02:00
2023-02-09 11:26:39 +01:00
2021-03-24 22:16:12 -04:00
2020-10-02 21:52:53 -04:00
2020-12-07 20:24:09 -05:00
2021-08-23 23:07:05 -04:00
2023-05-11 23:00:26 +09:00
2021-05-31 22:48:23 -04:00
2021-08-11 22:25:40 -04:00
2022-06-14 18:36:22 +02:00
2022-02-16 12:56:14 +01:00
2021-09-13 22:15:47 -04:00
2021-01-22 21:14:12 -05:00
2021-08-11 22:25:38 -04:00
2020-12-07 20:24:09 -05:00
2021-05-31 22:48:23 -04:00
2022-06-22 14:21:57 +02:00
2021-05-21 16:59:33 -04:00
2021-06-18 23:01:03 -04:00
2021-05-31 22:48:21 -04:00
2021-08-23 23:06:56 -04:00
2021-05-31 22:48:23 -04:00
2021-08-11 22:25:41 -04:00
2023-08-30 16:18:21 +02:00
2021-08-01 13:21:40 -04:00
2021-07-28 22:24:27 -04:00
2022-12-31 13:14:25 +01:00
2022-01-27 11:05:22 +01:00
2023-03-30 12:47:55 +02:00
2021-03-24 23:03:43 -04:00
2023-10-19 23:05:32 +02:00
2022-08-03 12:03:47 +02:00
2023-10-19 23:05:32 +02:00
2021-08-11 22:25:37 -04:00
2022-01-27 11:04:15 +01:00
2023-10-19 23:05:32 +02:00
2023-08-16 18:22:03 +02:00
2023-02-09 11:26:34 +01:00
2022-11-10 18:15:34 +01:00
2022-04-08 14:22:54 +02:00
2023-09-19 12:22:44 +02:00
2022-11-26 09:24:35 +01:00
2021-08-11 22:25:37 -04:00
2021-04-05 23:14:53 -04:00
2023-04-26 13:51:50 +02:00
2021-05-06 19:24:11 -07:00
2021-09-21 23:52:55 -04:00
2022-11-03 23:59:20 +09:00
2020-10-14 15:15:35 -07:00
2020-09-15 20:28:06 -04:00
2023-04-20 12:13:55 +02:00
2022-08-17 14:22:55 +02:00
2020-09-25 06:20:44 +02:00
2021-03-18 22:52:29 -04:00
2021-05-07 00:26:34 -07:00
2022-04-27 14:38:58 +02:00
2022-01-27 11:05:03 +01:00
2023-09-19 12:23:02 +02:00
2022-03-16 14:23:46 +01:00
2021-08-23 12:54:30 -06:00
2023-06-09 10:32:29 +02:00
2023-09-19 12:22:29 +02:00
2021-08-11 22:25:41 -04:00
2021-04-13 00:20:48 -04:00
2020-10-02 21:52:55 -04:00
2021-09-28 22:47:28 -04:00
2022-01-05 12:42:39 +01:00
2022-06-22 14:21:57 +02:00
2021-05-31 22:48:23 -04:00
2021-08-16 13:33:24 -04:00
2022-03-11 12:22:36 +01:00
2021-08-30 10:18:25 +02:00
2022-04-13 20:59:15 +02:00