[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4b666e32-04b6-228a-691d-0745fa48a57f@lightnvm.io>
Date: Wed, 29 May 2019 10:08:24 +0200
From: Matias Bjørling <mb@...htnvm.io>
To: Geert Uytterhoeven <geert@...ux-m68k.org>,
Igor Konopko <igor.j.konopko@...el.com>,
David Howells <dhowells@...hat.com>,
"Mohit P . Tahiliani" <tahiliani@...k.edu.in>,
Takashi Sakamoto <o-takashi@...amocchi.jp>,
Eran Ben Elisha <eranbe@...lanox.com>,
Jiri Pirko <jiri@...lanox.com>,
"David S . Miller" <davem@...emloft.net>,
Jamal Hadi Salim <jhs@...atatu.com>,
Cong Wang <xiyou.wangcong@...il.com>,
Clemens Ladisch <clemens@...isch.de>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, Joe Perches <joe@...ches.com>,
Arnd Bergmann <arnd@...db.de>,
Dan Carpenter <dan.carpenter@...cle.com>
Cc: linux-block@...r.kernel.org, netdev@...r.kernel.org,
linux-afs@...ts.infradead.org, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/5] lightnvm: Fix uninitialized pointer in
nvm_remove_tgt()
On 5/28/19 4:24 PM, Geert Uytterhoeven wrote:
> 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: 843f2edbdde085b4 ("lightnvm: do not remove instance under global lock")
> Signed-off-by: Geert Uytterhoeven <geert@...ux-m68k.org>
> ---
> drivers/lightnvm/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
> index 0df7454832efe082..aa017f48eb8c588c 100644
> --- a/drivers/lightnvm/core.c
> +++ b/drivers/lightnvm/core.c
> @@ -492,7 +492,7 @@ static void __nvm_remove_target(struct nvm_target *t, bool graceful)
> */
> static int nvm_remove_tgt(struct nvm_ioctl_remove *remove)
> {
> - struct nvm_target *t;
> + struct nvm_target *t = NULL;
> struct nvm_dev *dev;
>
> down_read(&nvm_lock);
>
Thanks Geert. Would you like me to carry the patch?
Powered by blists - more mailing lists