]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
target: Don't return success from module_init() if setup fails
authorRoland Dreier <roland@purestorage.com>
Wed, 31 Oct 2012 16:16:44 +0000 (09:16 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Nov 2012 21:14:20 +0000 (13:14 -0800)
commit 0d0f9dfb31e0a6c92063e235417b42df185b3275 upstream.

If the call to core_dev_release_virtual_lun0() fails, then nothing
sets ret to anything other than 0, so even though everything is
torn down and freed, target_core_init_configfs() will seem to succeed
and the module will be loaded.  Fix this by passing the return value
on up the chain.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/target/target_core_configfs.c

index 25c1f49a7d8bae7ee61f20df5830ba5a782277c7..26f4d5b2cbe4e302e33f0fa8382e4d3c9cc15ac9 100644 (file)
@@ -3234,7 +3234,8 @@ static int __init target_core_init_configfs(void)
        if (ret < 0)
                goto out;
 
-       if (core_dev_setup_virtual_lun0() < 0)
+       ret = core_dev_setup_virtual_lun0();
+       if (ret < 0)
                goto out;
 
        return 0;