]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
scsi: megaraid: Fix error check return value of register_chrdev()
authorLv Ruyi <lv.ruyi@zte.com.cn>
Mon, 18 Apr 2022 10:57:55 +0000 (10:57 +0000)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 10 Aug 2022 07:23:42 +0000 (09:23 +0200)
BugLink: https://bugs.launchpad.net/bugs/1981864
[ Upstream commit c5acd61dbb32b6bda0f3a354108f2b8dcb788985 ]

If major equals 0, register_chrdev() returns an error code when it fails.
This function dynamically allocates a major and returns its number on
success, so we should use "< 0" to check it instead of "!".

Link: https://lore.kernel.org/r/20220418105755.2558828-1-lv.ruyi@zte.com.cn
Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/scsi/megaraid.c

index 56910e94dbf2a2c75349949b575bf26a54b2e6cf..7dd6dd74d2bc2231bff45c1bf9e86fe497581966 100644 (file)
@@ -4628,7 +4628,7 @@ static int __init megaraid_init(void)
         * major number allocation.
         */
        major = register_chrdev(0, "megadev_legacy", &megadev_fops);
-       if (!major) {
+       if (major < 0) {
                printk(KERN_WARNING
                                "megaraid: failed to register char device\n");
        }