[PATCH 4.16 51/68] scsi: scsi_dh: Dont look for NULL devices handlers by name

From: Greg Kroah-Hartman
Date: Tue Apr 17 2018 - 13:02:32 EST


4.16-stable review patch. If anyone has any objections, please let me know.

------------------

From: Johannes Thumshirn <jthumshirn@xxxxxxx>

commit 2ee5671e3ae35e53bb5a53a89ac8f033e4b1721f upstream.

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@xxxxxxxxxxxxxxx> # v4.16
Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>
Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxx>
Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/scsi/scsi_dh.c | 3 +++
1 file changed, 3 insertions(+)

--- a/drivers/scsi/scsi_dh.c
+++ b/drivers/scsi/scsi_dh.c
@@ -112,6 +112,9 @@ static struct scsi_device_handler *scsi_
{
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);