diff options
author | Danila Chernetsov <listdansp@mail.ru> | 2023-03-17 20:51:09 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-05-11 17:03:19 +0300 |
commit | e3e55385fa53d6a280368c59e1da5f04e4380199 (patch) | |
tree | 717c9166cf3605961ae10068c00d8cf9c49b00c4 | |
parent | 770c3fd4d732d56b8b77b9222978484dc6403e46 (diff) | |
download | linux-e3e55385fa53d6a280368c59e1da5f04e4380199.tar.xz |
scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
[ Upstream commit 75cb113cd43f06aaf4f1bda0069cfd5b98e909eb ]
When cmdid == CMDID_INT_CMDS, the 'cmds' pointer is NULL but is
dereferenced below.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: 0f2bb84d2a68 ("[SCSI] megaraid: simplify internal command handling")
Signed-off-by: Danila Chernetsov <listdansp@mail.ru>
Link: https://lore.kernel.org/r/20230317175109.18585-1-listdansp@mail.ru
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/scsi/megaraid.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c index bf491af9f0d6..16e2cf848c6e 100644 --- a/drivers/scsi/megaraid.c +++ b/drivers/scsi/megaraid.c @@ -1441,6 +1441,7 @@ mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status) */ if (cmdid == CMDID_INT_CMDS) { scb = &adapter->int_scb; + cmd = scb->cmd; list_del_init(&scb->list); scb->state = SCB_FREE; |