Commit 2f5af4ab authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Jens Axboe

lightnvm: fix uninitialized pointer in nvm_remove_tgt()

With gcc 4.1:

    drivers/lightnvm/core.c: In function ‘nvm_remove_tgt’:
    drivers/lightnvm/core.c:510: warning: ‘t’ is used uninitialized in this function

Indeed, if no NVM devices have been registered, t will be an
uninitialized pointer, and may be dereferenced later.  A call to
nvm_remove_tgt() can be triggered from userspace by issuing the
NVM_DEV_REMOVE ioctl on the lightnvm control device.

Fix this by preinitializing t to NULL.

Fixes: 843f2edb ("lightnvm: do not remove instance under global lock")
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: default avatarMatias Bjørling <mb@lightnvm.io>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 510fd8ea
...@@ -478,7 +478,7 @@ static void __nvm_remove_target(struct nvm_target *t, bool graceful) ...@@ -478,7 +478,7 @@ static void __nvm_remove_target(struct nvm_target *t, bool graceful)
*/ */
static int nvm_remove_tgt(struct nvm_ioctl_remove *remove) static int nvm_remove_tgt(struct nvm_ioctl_remove *remove)
{ {
struct nvm_target *t; struct nvm_target *t = NULL;
struct nvm_dev *dev; struct nvm_dev *dev;
down_read(&nvm_lock); down_read(&nvm_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment