Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

target: Don't return success from module_init() if setup fails

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>
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>

authored by

Roland Dreier and committed by
Nicholas Bellinger
0d0f9dfb dea5f099

+2 -1
+2 -1
drivers/target/target_core_configfs.c
··· 3206 3206 if (ret < 0) 3207 3207 goto out; 3208 3208 3209 - if (core_dev_setup_virtual_lun0() < 0) 3209 + ret = core_dev_setup_virtual_lun0(); 3210 + if (ret < 0) 3210 3211 goto out; 3211 3212 3212 3213 return 0;