From: <yadong.qi@linux.alibaba.com>
To: "'Dan Carpenter'" <dan.carpenter@linaro.org>,
<oe-kbuild@lists.linux.dev>
Cc: <lkp@intel.com>, <oe-kbuild-all@lists.linux.dev>,
"'Andrew Morton'" <akpm@linux-foundation.org>,
"'Linux Memory Management List'" <linux-mm@kvack.org>,
"'Huang Ying'" <ying.huang@linux.alibaba.com>
Subject: RE: [akpm-mm:mm-new 114/114] mm/vmalloc.c:191 vmap_pmd_range() error: uninitialized symbol 'err'.
Date: Tue, 14 Oct 2025 17:27:24 +0800 [thread overview]
Message-ID: <003201dc3cec$c0697f40$413c7dc0$@linux.alibaba.com> (raw)
In-Reply-To: <202510110050.VG9YKMRK-lkp@intel.com>
> -----Original Message-----
> From: Dan Carpenter <dan.carpenter@linaro.org>
> Sent: 2025年10月14日 16:28
> To: oe-kbuild@lists.linux.dev; Yadong Qi <yadong.qi@linux.alibaba.com>
> Cc: lkp@intel.com; oe-kbuild-all@lists.linux.dev; Andrew Morton
> <akpm@linux-foundation.org>; Linux Memory Management List
> <linux-mm@kvack.org>; Huang Ying <ying.huang@linux.alibaba.com>
> Subject: [akpm-mm:mm-new 114/114] mm/vmalloc.c:191 vmap_pmd_range()
> error: uninitialized symbol 'err'.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-new
> head: dbf0247637dd0601a462793035bdd0b416b30e36
> commit: dbf0247637dd0601a462793035bdd0b416b30e36 [114/114] mm:
> vmalloc: WARN_ON if mapping size is not PAGE_SIZE aligned
> config: sparc-randconfig-r071-20251010
> (https://download.01.org/0day-ci/archive/20251011/202510110050.VG9YKMRK-l
> kp@intel.com/config)
> compiler: sparc-linux-gcc (GCC) 8.5.0
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version
of
> the same patch/commit), kindly add following tags
> | 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/
>
> smatch warnings:
> 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'.
>
> vim +/err +191 mm/vmalloc.c
>
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 167 static int
> vmap_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 168
phys_addr_t
> phys_addr, pgprot_t prot,
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 169 unsigned
int
> max_page_shift, pgtbl_mod_mask *mask)
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 170 {
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 171 pmd_t *pmd;
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 172 unsigned long next;
> dbf0247637dd06 Yadong Qi 2025-10-10 173 int err;
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 174
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 175 pmd =
> pmd_alloc_track(&init_mm, pud, addr, mask);
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 176 if (!pmd)
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 177 return -ENOMEM;
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 178 do {
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 179 next =
> pmd_addr_end(addr, end);
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 180
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 181 if
> (vmap_try_huge_pmd(pmd, addr, next, phys_addr, prot,
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 182
> max_page_shift)) {
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 183 *mask |=
> PGTBL_PMD_MODIFIED;
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 184
continue;
>
> Is it possible to hit the continue on every iteration through the loop?
>
Yes, this is an issue. I will submit an addon patch to fix it.
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 185 }
> 5e9e3d777b99aa Nicholas Piggin 2021-04-29 186
> dbf0247637dd06 Yadong Qi 2025-10-10 187 err =
> vmap_pte_range(pmd, addr, next, phys_addr, prot, max_page_shift, mask);
> dbf0247637dd06 Yadong Qi 2025-10-10 188 if (err)
> dbf0247637dd06 Yadong Qi 2025-10-10 189 break;
>
> I always feel like these are better as a "return ret;" anyway. Then it's
> just one line to read instead of needing to "break; ... return err;".
> Twice as fast to read one line vs two lines.
>
I prefer to keep same style in vmalloc.c.
prev parent reply other threads:[~2025-10-14 9:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-10 16:56 [akpm-mm:mm-new 114/114] mm/vmalloc.c:191 vmap_pmd_range() error: uninitialized symbol 'err' kernel test robot
2025-10-14 8:28 ` Dan Carpenter
2025-10-14 9:27 ` yadong.qi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='003201dc3cec$c0697f40$413c7dc0$@linux.alibaba.com' \
--to=yadong.qi@linux.alibaba.com \
--cc=akpm@linux-foundation.org \
--cc=dan.carpenter@linaro.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=ying.huang@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.