linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm: vmalloc: fix uninitialized value issue
@ 2025-10-14 10:23 Yadong Qi
  2025-10-15  2:09 ` Andrew Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Yadong Qi @ 2025-10-14 10:23 UTC (permalink / raw)
  To: akpm, urezki, linux-mm, linux-kernel, ying.huang, dan.carpenter
  Cc: Yadong Qi, kernel test robot

Issues reported by LKP:
  mm/vmalloc.c:191 vmap_pmd_range() error: uninitialized symbol 'err'.
  mm/vmalloc.c:243 vmap_pud_range() error: uninitialized symbol 'err'.
  mm/vmalloc.c:295 vmap_p4d_range() error: uninitialized symbol 'err'.

Fix by initailizing err with 0.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202510110050.VG9YKMRK-lkp@intel.com/
Signed-off-by: Yadong Qi <yadong.qi@linux.alibaba.com>
---
 mm/vmalloc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index c0213118a75e..6d6d4cf3e176 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -170,7 +170,7 @@ static int vmap_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
 {
 	pmd_t *pmd;
 	unsigned long next;
-	int err;
+	int err = 0;
 
 	pmd = pmd_alloc_track(&init_mm, pud, addr, mask);
 	if (!pmd)
@@ -222,7 +222,7 @@ static int vmap_pud_range(p4d_t *p4d, unsigned long addr, unsigned long end,
 {
 	pud_t *pud;
 	unsigned long next;
-	int err;
+	int err = 0;
 
 	pud = pud_alloc_track(&init_mm, p4d, addr, mask);
 	if (!pud)
@@ -274,7 +274,7 @@ static int vmap_p4d_range(pgd_t *pgd, unsigned long addr, unsigned long end,
 {
 	p4d_t *p4d;
 	unsigned long next;
-	int err;
+	int err = 0;
 
 	p4d = p4d_alloc_track(&init_mm, pgd, addr, mask);
 	if (!p4d)
-- 
2.43.5



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] mm: vmalloc: fix uninitialized value issue
  2025-10-14 10:23 [PATCH] mm: vmalloc: fix uninitialized value issue Yadong Qi
@ 2025-10-15  2:09 ` Andrew Morton
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2025-10-15  2:09 UTC (permalink / raw)
  To: Yadong Qi
  Cc: urezki, linux-mm, linux-kernel, ying.huang, dan.carpenter,
	kernel test robot, Huang Ying, Dev Jain, Uladzislau Rezki

On Tue, 14 Oct 2025 18:23:37 +0800 Yadong Qi <yadong.qi@linux.alibaba.com> wrote:

> Issues reported by LKP:
>   mm/vmalloc.c:191 vmap_pmd_range() error: uninitialized symbol 'err'.
>   mm/vmalloc.c:243 vmap_pud_range() error: uninitialized symbol 'err'.
>   mm/vmalloc.c:295 vmap_p4d_range() error: uninitialized symbol 'err'.
> 
> Fix by initailizing err with 0.

This fixes warnings which were introduced by mm.git's recent "mm:
vmalloc: WARN_ON if mapping size is not PAGE_SIZE aligned".  Please do
point out such details.

> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -170,7 +170,7 @@ static int vmap_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
>  {
>  	pmd_t *pmd;
>  	unsigned long next;
> -	int err;
> +	int err = 0;
>  
>  	pmd = pmd_alloc_track(&init_mm, pud, addr, mask);
>  	if (!pmd)

So we get the below:

: static int vmap_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
: 			phys_addr_t phys_addr, pgprot_t prot,
: 			unsigned int max_page_shift, pgtbl_mod_mask *mask)
: {
: 	pmd_t *pmd;
: 	unsigned long next;
: 	int err = 0;
: 
: 	pmd = pmd_alloc_track(&init_mm, pud, addr, mask);
: 	if (!pmd)
: 		return -ENOMEM;
: 	do {
: 		next = pmd_addr_end(addr, end);
: 
: 		if (vmap_try_huge_pmd(pmd, addr, next, phys_addr, prot,
: 					max_page_shift)) {
: 			*mask |= PGTBL_PMD_MODIFIED;
: 			continue;
: 		}
: 
: 		err = vmap_pte_range(pmd, addr, next, phys_addr, prot, max_page_shift, mask);
: 		if (err)
: 			break;
: 	} while (pmd++, phys_addr += (next - addr), addr = next, addr != end);
: 	return err;
: }

If every single pmd fails vmap_try_huge_pmd() then this function
returns zero, indicating success.  Is this behavior correct and
desirable?


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-10-15  2:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-14 10:23 [PATCH] mm: vmalloc: fix uninitialized value issue Yadong Qi
2025-10-15  2:09 ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox