diff mbox series

[next] scsi: scsi_debug: Fix missing error code in scsi_debug_init()

Message ID 20230406074607.3637097-1-harshit.m.mogalapalli@oracle.com
State New
Headers show
Series [next] scsi: scsi_debug: Fix missing error code in scsi_debug_init() | expand

Commit Message

Harshit Mogalapalli April 6, 2023, 7:46 a.m. UTC
Smatch reports: drivers/scsi/scsi_debug.c:6996
	scsi_debug_init() warn: missing error code 'ret'

Although it is unlikely that KMEM_CACHE might fail, but if
it does then ret might be zero. So to fix this explicitly
mark ret as "-ENOMEM" and then goto driver_unreg.

Fixes: 1107c7b24ee3 ("scsi: scsi_debug: Dynamically allocate sdebug_queued_cmd")
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
---
This is from static analysis, Only compile tested.
---
 drivers/scsi/scsi_debug.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Martin K. Petersen April 12, 2023, 1:15 a.m. UTC | #1
Harshit,

> Smatch reports: drivers/scsi/scsi_debug.c:6996
> 	scsi_debug_init() warn: missing error code 'ret'

Applied to 6.4/scsi-staging, thanks!
Martin K. Petersen April 19, 2023, 3:20 a.m. UTC | #2
On Thu, 06 Apr 2023 00:46:07 -0700, Harshit Mogalapalli wrote:

> Smatch reports: drivers/scsi/scsi_debug.c:6996
> 	scsi_debug_init() warn: missing error code 'ret'
> 
> Although it is unlikely that KMEM_CACHE might fail, but if
> it does then ret might be zero. So to fix this explicitly
> mark ret as "-ENOMEM" and then goto driver_unreg.
> 
> [...]

Applied to 6.4/scsi-queue, thanks!

[1/1] scsi: scsi_debug: Fix missing error code in scsi_debug_init()
      https://git.kernel.org/mkp/scsi/c/b32283d75335
diff mbox series

Patch

diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index cf3f58e8f733..f4fa1035a191 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -6992,8 +6992,10 @@  static int __init scsi_debug_init(void)
 	sdebug_add_host = 0;
 
 	queued_cmd_cache = KMEM_CACHE(sdebug_queued_cmd, SLAB_HWCACHE_ALIGN);
-	if (!queued_cmd_cache)
+	if (!queued_cmd_cache) {
+		ret = -ENOMEM;
 		goto driver_unreg;
+	}
 
 	for (k = 0; k < hosts_to_add; k++) {
 		if (want_store && k == 0) {