在 2024/3/25 13:44, Dan Carpenter 写道:
Hi Jinjiang, kernel test robot noticed the following build warnings: url: https://github.com/intel-lab-lkp/linux/commits/Jinjiang-Tu/mm-ksm-fix-ksm-exec-support-for-prctl/20240322-141317 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20240322060947.3254967-2-tujinjiang%40huawei.com patch subject: [PATCH v2 1/2] mm/ksm: fix ksm exec support for prctl config: openrisc-randconfig-r081-20240322 (https://download.01.org/0day-ci/archive/20240324/202403240146.Pv4gVc5N-lkp@xxxxxxxxx/config) compiler: or1k-linux-gcc (GCC) 13.2.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@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202403240146.Pv4gVc5N-lkp@xxxxxxxxx/ smatch warnings: fs/exec.c:305 __bprm_mm_init() error: uninitialized symbol 'err'. vim +/err +305 fs/exec.c b6a2fea39318e43 Ollie Wild 2007-07-19 255 static int __bprm_mm_init(struct linux_binprm *bprm) b6a2fea39318e43 Ollie Wild 2007-07-19 256 { eaccbfa564e48c8 Luiz Fernando N. Capitulino 2009-01-06 257 int err; b6a2fea39318e43 Ollie Wild 2007-07-19 258 struct vm_area_struct *vma = NULL; b6a2fea39318e43 Ollie Wild 2007-07-19 259 struct mm_struct *mm = bprm->mm; b6a2fea39318e43 Ollie Wild 2007-07-19 260 490fc053865c9cc Linus Torvalds 2018-07-21 261 bprm->vma = vma = vm_area_alloc(mm); b6a2fea39318e43 Ollie Wild 2007-07-19 262 if (!vma) eaccbfa564e48c8 Luiz Fernando N. Capitulino 2009-01-06 263 return -ENOMEM; bfd40eaff5abb9f Kirill A. Shutemov 2018-07-26 264 vma_set_anonymous(vma); b6a2fea39318e43 Ollie Wild 2007-07-19 265 d8ed45c5dcd455f Michel Lespinasse 2020-06-08 266 if (mmap_write_lock_killable(mm)) { f268dfe905d4682 Michal Hocko 2016-05-23 267 err = -EINTR; f268dfe905d4682 Michal Hocko 2016-05-23 268 goto err_free; f268dfe905d4682 Michal Hocko 2016-05-23 269 } b6a2fea39318e43 Ollie Wild 2007-07-19 270 d282f6b19afd1a9 Jinjiang Tu 2024-03-22 271 /* d282f6b19afd1a9 Jinjiang Tu 2024-03-22 272 * Need to be called with mmap write lock d282f6b19afd1a9 Jinjiang Tu 2024-03-22 273 * held, to avoid race with ksmd. d282f6b19afd1a9 Jinjiang Tu 2024-03-22 274 */ d282f6b19afd1a9 Jinjiang Tu 2024-03-22 275 if (ksm_execve(mm)) d282f6b19afd1a9 Jinjiang Tu 2024-03-22 276 goto err_ksm; "err" not set before the goto.
The code should be: err = ksm_execve(mm); if (err) goto err_ksm; I will fix in the next version.
d282f6b19afd1a9 Jinjiang Tu 2024-03-22 277 b6a2fea39318e43 Ollie Wild 2007-07-19 278 /* b6a2fea39318e43 Ollie Wild 2007-07-19 279 * Place the stack at the largest stack address the architecture b6a2fea39318e43 Ollie Wild 2007-07-19 280 * supports. Later, we'll move this to an appropriate place. We don't b6a2fea39318e43 Ollie Wild 2007-07-19 281 * use STACK_TOP because that can depend on attributes which aren't b6a2fea39318e43 Ollie Wild 2007-07-19 282 * configured yet. b6a2fea39318e43 Ollie Wild 2007-07-19 283 */ aacb3d17a73f644 Michal Hocko 2011-07-26 284 BUILD_BUG_ON(VM_STACK_FLAGS & VM_STACK_INCOMPLETE_SETUP); b6a2fea39318e43 Ollie Wild 2007-07-19 285 vma->vm_end = STACK_TOP_MAX; b6a2fea39318e43 Ollie Wild 2007-07-19 286 vma->vm_start = vma->vm_end - PAGE_SIZE; 1c71222e5f2393b Suren Baghdasaryan 2023-01-26 287 vm_flags_init(vma, VM_SOFTDIRTY | VM_STACK_FLAGS | VM_STACK_INCOMPLETE_SETUP); 3ed75eb8f1cd895 Coly Li 2007-10-18 288 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); 462e635e5b73ba9 Tavis Ormandy 2010-12-09 289 b6a2fea39318e43 Ollie Wild 2007-07-19 290 err = insert_vm_struct(mm, vma); eaccbfa564e48c8 Luiz Fernando N. Capitulino 2009-01-06 291 if (err) b6a2fea39318e43 Ollie Wild 2007-07-19 292 goto err; b6a2fea39318e43 Ollie Wild 2007-07-19 293 b6a2fea39318e43 Ollie Wild 2007-07-19 294 mm->stack_vm = mm->total_vm = 1; d8ed45c5dcd455f Michel Lespinasse 2020-06-08 295 mmap_write_unlock(mm); b6a2fea39318e43 Ollie Wild 2007-07-19 296 bprm->p = vma->vm_end - sizeof(void *); b6a2fea39318e43 Ollie Wild 2007-07-19 297 return 0; b6a2fea39318e43 Ollie Wild 2007-07-19 298 err: d282f6b19afd1a9 Jinjiang Tu 2024-03-22 299 ksm_exit(mm); d282f6b19afd1a9 Jinjiang Tu 2024-03-22 300 err_ksm: d8ed45c5dcd455f Michel Lespinasse 2020-06-08 301 mmap_write_unlock(mm); f268dfe905d4682 Michal Hocko 2016-05-23 302 err_free: b6a2fea39318e43 Ollie Wild 2007-07-19 303 bprm->vma = NULL; 3928d4f5ee37cdc Linus Torvalds 2018-07-21 304 vm_area_free(vma); b6a2fea39318e43 Ollie Wild 2007-07-19 @305 return err; b6a2fea39318e43 Ollie Wild 2007-07-19 306 }