blk-mq: fix an IS_ERR() vs NULL bug
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 18 Jun 2021 13:45:22 +0000 (16:45 +0300)
committerJens Axboe <axboe@kernel.dk>
Fri, 18 Jun 2021 14:53:35 +0000 (08:53 -0600)
The __blk_mq_alloc_disk() function doesn't return NULLs it returns
error pointers.

Fixes: b461dfc49eb6 ("blk-mq: add the blk_mq_alloc_disk APIs")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/YMyjci35WBqrtqG+@mwanda
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/blk-mq.h

index 02a4aab..fd2de2b 100644 (file)
@@ -431,7 +431,7 @@ enum {
        static struct lock_class_key __key;                             \
        struct gendisk *__disk = __blk_mq_alloc_disk(set, queuedata);   \
                                                                        \
-       if (__disk)                                                     \
+       if (!IS_ERR(__disk))                                            \
                lockdep_init_map(&__disk->lockdep_map,                  \
                        "(bio completion)", &__key, 0);                 \
        __disk;                                                         \