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:18:29 +0000 (13:18 -0800)
commit3a62d0ff8b88d2ee9fe26f466a36d2145e6ac923
treeb94e273b4f0b19ddde01389928d2eaf2190dabce
parent9fc9d86a23e2b5eb411c33d3bb8a8ee9a06f34d0
target: Don't return success from module_init() if setup fails

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