NVMe: Fix error handling of class_create("nvme")
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Fri, 6 Mar 2015 22:43:41 +0000 (01:43 +0300)
committerJens Axboe <axboe@fb.com>
Wed, 8 Apr 2015 01:08:58 +0000 (19:08 -0600)
class_create() returns ERR_PTR on failure,
so IS_ERR() should be used instead of check for NULL.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/nvme-core.c

index ef43278..9052553 100644 (file)
@@ -3163,8 +3163,10 @@ static int __init nvme_init(void)
                nvme_char_major = result;
 
        nvme_class = class_create(THIS_MODULE, "nvme");
-       if (!nvme_class)
+       if (IS_ERR(nvme_class)) {
+               result = PTR_ERR(nvme_class);
                goto unregister_chrdev;
+       }
 
        result = pci_register_driver(&nvme_driver);
        if (result)