]> 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)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 16 Nov 2012 16:47:06 +0000 (16:47 +0000)
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: Ben Hutchings <ben@decadent.org.uk>
drivers/target/target_core_configfs.c

index 0b01bfc7f4eb37d0fa44edb71a4be6cff85a9d4e..013b1338a0731acf1564c3d1631cb5ae04ab0f36 100644 (file)
@@ -3205,7 +3205,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;