lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 7 Jan 2021 14:14:11 +0100 From: Uladzislau Rezki <urezki@...il.com> To: Miaohe Lin <linmiaohe@...wei.com> Cc: akpm@...ux-foundation.org, linux-mm@...ck.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH] mm/vmalloc.c: Fix potential memory leak > In VM_MAP_PUT_PAGES case, we should put pages and free array in vfree. But > we missed to set area->nr_pages in vmap(). So we would failed to put pages > in __vunmap() because area->nr_pages = 0. > > Fixes: b944afc9d64d ("mm: add a VM_MAP_PUT_PAGES flag for vmap") > Signed-off-by: Shijie Luo <luoshijie1@...wei.com> > Signed-off-by: Miaohe Lin <linmiaohe@...wei.com> > Cc: <stable@...r.kernel.org> > --- > mm/vmalloc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 6507a579ff88..8ab83fbecadd 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2421,8 +2421,10 @@ void *vmap(struct page **pages, unsigned int count, > return NULL; > } > > - if (flags & VM_MAP_PUT_PAGES) > + if (flags & VM_MAP_PUT_PAGES) { > area->pages = pages; > + area->nr_pages = count; > + } > return area->addr; > } > EXPORT_SYMBOL(vmap); > -- > 2.19.1 > Reviewed-by: Uladzislau Rezki (Sony) <urezki@...il.com> -- Vlad Rezki
Powered by blists - more mailing lists