nvme-multipath: Early exit if no path is available
authorDaniel Wagner <dwagner@suse.de>
Wed, 27 Jan 2021 10:30:33 +0000 (11:30 +0100)
committerChristoph Hellwig <hch@lst.de>
Thu, 28 Jan 2021 18:25:07 +0000 (19:25 +0100)
nvme_round_robin_path() should test if the return ns pointer is valid.
nvme_next_ns() will return a NULL pointer if there is no path left.

Fixes: 75c10e732724 ("nvme-multipath: round-robin I/O policy")
Signed-off-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/multipath.c

index 9ac762b..282b7a4 100644 (file)
@@ -221,7 +221,7 @@ static struct nvme_ns *nvme_round_robin_path(struct nvme_ns_head *head,
        }
 
        for (ns = nvme_next_ns(head, old);
-            ns != old;
+            ns && ns != old;
             ns = nvme_next_ns(head, ns)) {
                if (nvme_path_is_disabled(ns))
                        continue;