projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
770c3fd
)
scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
author
Danila Chernetsov
<listdansp@mail.ru>
Fri, 17 Mar 2023 17:51:09 +0000
(17:51 +0000)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:19 +0000
(23:03 +0900)
[ 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>
drivers/scsi/megaraid.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/megaraid.c
b/drivers/scsi/megaraid.c
index
bf491af
..
16e2cf8
100644
(file)
--- 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;