scsi: scsi_dh: Don't look for NULL devices handlers by name
authorJohannes Thumshirn <jthumshirn@suse.de>
Fri, 23 Mar 2018 13:37:05 +0000 (14:37 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 9 Apr 2018 20:35:12 +0000 (16:35 -0400)
Currently scsi_dh_lookup() doesn't check for NULL as a device name. This
combined with nvme over dm-mpath results in the following messages
emitted by device-mapper:

 device-mapper: multipath: Could not failover device 259:67: Handler scsi_dh_(null) error 14.

Let scsi_dh_lookup() fail fast on NULL names.

[mkp: typo fix]

Cc: <stable@vger.kernel.org> # v4.16
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_dh.c

index b88b5dbbc444ebd67bce4fe3238622f6b89ae142..188f30572aa1f45beebc9beb32d2c99b5fc79141 100644 (file)
@@ -112,6 +112,9 @@ static struct scsi_device_handler *scsi_dh_lookup(const char *name)
 {
        struct scsi_device_handler *dh;
 
+       if (!name || strlen(name) == 0)
+               return NULL;
+
        dh = __scsi_dh_lookup(name);
        if (!dh) {
                request_module("scsi_dh_%s", name);