scsi: scsi_debug: num_tgts must be >= 0
authorMaurizio Lombardi <mlombard@redhat.com>
Fri, 15 Nov 2019 16:37:27 +0000 (17:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Jan 2020 18:13:04 +0000 (19:13 +0100)
[ Upstream commit aa5334c4f3014940f11bf876e919c956abef4089 ]

Passing the parameter "num_tgts=-1" will start an infinite loop that
exhausts the system memory

Link: https://lore.kernel.org/r/20191115163727.24626-1-mlombard@redhat.com
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/scsi_debug.c

index 65305b3..a1dbae8 100644 (file)
@@ -5351,6 +5351,11 @@ static int __init scsi_debug_init(void)
                return -EINVAL;
        }
 
+       if (sdebug_num_tgts < 0) {
+               pr_err("num_tgts must be >= 0\n");
+               return -EINVAL;
+       }
+
        if (sdebug_guard > 1) {
                pr_err("guard must be 0 or 1\n");
                return -EINVAL;