Message ID | 20240111121104.180993-1-urezki@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/1] Fix a wrong value passed to __find_vmap_area() | expand |
On Thu, Jan 11, 2024 at 01:11:04PM +0100, Uladzislau Rezki (Sony) wrote: > There was a type in the vmalloc_dump_obj() function. Instead > of passing a real address which is "objp" an "addr" was used > what is wrong and not initialized. > > Reported-by: kernel test robot <lkp@intel.com> > Fixes: e88b85b81d5 ("mm: vmalloc: offload free_vmap_area_lock lock") I am not sure that e88b85b81d5 introduced this. Based on the diff, I think it was actually commit 86817057732a ("mm: vmalloc: remove global vmap_area_root rb-tree"). Does not really matter for the patch text but I think it does matter for what change this gets squashed into. > Closes: https://lore.kernel.org/oe-kbuild-all/202401111810.TKPIXLCs-lkp@intel.com/ > Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> > --- > mm/vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index e30dabf68263..43a6608e1397 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -4688,7 +4688,7 @@ bool vmalloc_dump_obj(void *object) > vn = addr_to_node((unsigned long)objp); > > if (spin_trylock(&vn->busy.lock)) { > - va = __find_vmap_area(addr, &vn->busy.root); > + va = __find_vmap_area((unsigned long)objp, &vn->busy.root); > > if (va && va->vm) { > addr = (unsigned long)va->vm->addr; > -- > 2.39.2 >
On Thu, Jan 11, 2024 at 08:55:11AM -0700, Nathan Chancellor wrote: > On Thu, Jan 11, 2024 at 01:11:04PM +0100, Uladzislau Rezki (Sony) wrote: > > There was a type in the vmalloc_dump_obj() function. Instead > > of passing a real address which is "objp" an "addr" was used > > what is wrong and not initialized. > > > > Reported-by: kernel test robot <lkp@intel.com> > > Fixes: e88b85b81d5 ("mm: vmalloc: offload free_vmap_area_lock lock") > > I am not sure that e88b85b81d5 introduced this. Based on the diff, I > think it was actually commit 86817057732a ("mm: vmalloc: remove global > vmap_area_root rb-tree"). Does not really matter for the patch text but > I think it does matter for what change this gets squashed into. > Right you are! Below is updated version: <snip> From 98f1fd2d3913f3b7bcbe49785a78f67999151f1c Mon Sep 17 00:00:00 2001 From: "Uladzislau Rezki (Sony)" <urezki@gmail.com> Date: Thu, 11 Jan 2024 13:04:07 +0100 Subject: [PATCH 1/2] mm: vmalloc: Fix a wrong value passed to __find_vmap_area() There was a type in the vmalloc_dump_obj() function. Instead of passing a real address which is "objp" an "addr" was used what is wrong and not initialized. Reported-by: kernel test robot <lkp@intel.com> Fixes: 86817057732a ("mm: vmalloc: remove global vmap_area_root rb-tree") Closes: https://lore.kernel.org/oe-kbuild-all/202401111810.TKPIXLCs-lkp@intel.com/ Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> --- mm/vmalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index e30dabf68263..43a6608e1397 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -4688,7 +4688,7 @@ bool vmalloc_dump_obj(void *object) vn = addr_to_node((unsigned long)objp); if (spin_trylock(&vn->busy.lock)) { - va = __find_vmap_area(addr, &vn->busy.root); + va = __find_vmap_area((unsigned long)objp, &vn->busy.root); if (va && va->vm) { addr = (unsigned long)va->vm->addr;
On Thu, Jan 11, 2024 at 05:03:41PM +0100, Uladzislau Rezki wrote: > On Thu, Jan 11, 2024 at 08:55:11AM -0700, Nathan Chancellor wrote: > > On Thu, Jan 11, 2024 at 01:11:04PM +0100, Uladzislau Rezki (Sony) wrote: > > > There was a type in the vmalloc_dump_obj() function. Instead > > > of passing a real address which is "objp" an "addr" was used > > > what is wrong and not initialized. > > > > > > Reported-by: kernel test robot <lkp@intel.com> > > > Fixes: e88b85b81d5 ("mm: vmalloc: offload free_vmap_area_lock lock") > > > > I am not sure that e88b85b81d5 introduced this. Based on the diff, I > > think it was actually commit 86817057732a ("mm: vmalloc: remove global > > vmap_area_root rb-tree"). Does not really matter for the patch text but > > I think it does matter for what change this gets squashed into. > > > Right you are! Below is updated version: > > <snip> > From 98f1fd2d3913f3b7bcbe49785a78f67999151f1c Mon Sep 17 00:00:00 2001 > From: "Uladzislau Rezki (Sony)" <urezki@gmail.com> > Date: Thu, 11 Jan 2024 13:04:07 +0100 > Subject: [PATCH 1/2] mm: vmalloc: Fix a wrong value passed to > __find_vmap_area() > > There was a type in the vmalloc_dump_obj() function. Instead > of passing a real address which is "objp" an "addr" was used > what is wrong and not initialized. > > Reported-by: kernel test robot <lkp@intel.com> > Fixes: 86817057732a ("mm: vmalloc: remove global vmap_area_root rb-tree") I know the commits are likely to get squashed/messed with (this is now d1d9bdd672c4 in my mm-unstable tree), will this get corrected in the commit message also? Slightly tricky one. Perhaps a note for Andrew unless his scripts do this already - please update this to wherever "mm: vmalloc: remove global vmap_area_root rb-tree" lands? > Closes: https://lore.kernel.org/oe-kbuild-all/202401111810.TKPIXLCs-lkp@intel.com/ > Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> > --- > mm/vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index e30dabf68263..43a6608e1397 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -4688,7 +4688,7 @@ bool vmalloc_dump_obj(void *object) > vn = addr_to_node((unsigned long)objp); > > if (spin_trylock(&vn->busy.lock)) { > - va = __find_vmap_area(addr, &vn->busy.root); > + va = __find_vmap_area((unsigned long)objp, &vn->busy.root); > > if (va && va->vm) { > addr = (unsigned long)va->vm->addr; > -- > 2.39.2 > <snip> > > -- > Uladzislau Rezki Otherwise looks good to me. I have some style comments but perhaps better for me to address on the actual patch series! Feel free to add: Reviewed-by: Lorenzo Stoakes <lstoakes@gmail.com>
On Tue, 16 Jan 2024 22:13:17 +0000 Lorenzo Stoakes <lstoakes@gmail.com> wrote: > > There was a type in the vmalloc_dump_obj() function. Instead > > of passing a real address which is "objp" an "addr" was used > > what is wrong and not initialized. > > > > Reported-by: kernel test robot <lkp@intel.com> > > Fixes: 86817057732a ("mm: vmalloc: remove global vmap_area_root rb-tree") > > I know the commits are likely to get squashed/messed with (this is now > d1d9bdd672c4 in my mm-unstable tree), will this get corrected in the commit > message also? Slightly tricky one. > > Perhaps a note for Andrew unless his scripts do this already - please > update this to wherever "mm: vmalloc: remove global vmap_area_root rb-tree" > lands? Yep, I'll scrunch together mm-vmalloc-remove-global-vmap_area_root-rb-tree.patch mm-vmalloc-remove-global-vmap_area_root-rb-tree-fix.patch mm-vmalloc-remove-global-vmap_area_root-rb-tree-fix-2.patch before merging it all into mm-stable and shall tidy up the changelog trail.
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index e30dabf68263..43a6608e1397 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -4688,7 +4688,7 @@ bool vmalloc_dump_obj(void *object) vn = addr_to_node((unsigned long)objp); if (spin_trylock(&vn->busy.lock)) { - va = __find_vmap_area(addr, &vn->busy.root); + va = __find_vmap_area((unsigned long)objp, &vn->busy.root); if (va && va->vm) { addr = (unsigned long)va->vm->addr;
There was a type in the vmalloc_dump_obj() function. Instead of passing a real address which is "objp" an "addr" was used what is wrong and not initialized. Reported-by: kernel test robot <lkp@intel.com> Fixes: e88b85b81d5 ("mm: vmalloc: offload free_vmap_area_lock lock") Closes: https://lore.kernel.org/oe-kbuild-all/202401111810.TKPIXLCs-lkp@intel.com/ Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> --- mm/vmalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)