From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [PATCH] fs:Fix kmemleak leak warning in getname_flags about working on unitialized memory To: Tetsuo Handa , viro@zeniv.linux.org.uk References: <1470260896-31767-1-git-send-email-xerofoify@gmail.com> Cc: akpm@linux-foundation.org, msalter@redhat.com, kuleshovmail@gmail.com, david.vrabel@citrix.com, vbabka@suse.cz, ard.biesheuvel@linaro.org, jgross@suse.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org From: nick Message-ID: <43b955c4-8592-1d8b-2624-419dd5501d6e@gmail.com> Date: Thu, 4 Aug 2016 09:01:09 -0400 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: On 2016-08-04 08:18 AM, Tetsuo Handa wrote: > On 2016/08/04 6:48, Nicholas Krause wrote: >> This fixes a kmemleak leak warning complaining about working on >> unitializied memory as found in the function, getname_flages. Seems >> that we are indeed working on unitialized memory, as the filename >> char pointer is never made to point to the filname structure's result >> member for holding it's name, fix this by using memcpy to copy the >> filname structure pointer's, name to the char pointer passed to this >> function. >> >> Signed-off-by: Nicholas Krause >> --- >> fs/namei.c | 1 + >> mm/early_ioremap.c | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/fs/namei.c b/fs/namei.c >> index c386a32..6b18d57 100644 >> --- a/fs/namei.c >> +++ b/fs/namei.c >> @@ -196,6 +196,7 @@ getname_flags(const char __user *filename, int flags, int *empty) >> } >> } >> >> + memcpy((char *)result->name, filename, len); > > This filename is a __user pointer. Reading with memcpy() is not safe. Indeed that is dangerous, I will test a v2 seeing if it is also fixed using copy_to_user with the same pointers to kernel memory space into user space like this with memcpy. Good Catch, Nick > >> result->uptr = filename; >> result->aname = NULL; >> audit_getname(result); > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org