arch/powerpc/kexec/ranges.c:531 get_usable_memory_ranges() warn: we never enter this loop

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Sourabh Jain <[email protected]>
CC: Madhavan Srinivasan <[email protected]>
CC: "Ritesh Harjani (IBM)" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   bcc44b6785f216eb939226ade6e3910baa30516b
commit: b4a96ab50f368afc2360ff539a20254ca2c9a889 powerpc/kdump: Add support for crashkernel CMA reservation
date:   9 months ago
:::::: branch date: 26 hours ago
:::::: commit date: 9 months ago
config: powerpc64-randconfig-r073-20260809 (https://download.01.org/0day-ci/archive/20260809/[email protected]/config)
compiler: powerpc64-linux-gcc (GCC) 11.5.0
smatch: v0.5.0-9187-g5189e3fb

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
| Fixes: b4a96ab50f36 ("powerpc/kdump: Add support for crashkernel CMA reservation")
| Reported-by: kernel test robot <[email protected]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

New smatch warnings:
arch/powerpc/kexec/ranges.c:531 get_usable_memory_ranges() warn: we never enter this loop

Old smatch warnings:
arch/powerpc/kexec/ranges.c:612 get_crash_memory_ranges() warn: we never enter this loop

vim +531 arch/powerpc/kexec/ranges.c

f5f0da5a7b18fa Sourabh Jain 2024-03-26  506  
f5f0da5a7b18fa Sourabh Jain 2024-03-26  507  #ifdef CONFIG_CRASH_DUMP
f5f0da5a7b18fa Sourabh Jain 2024-03-26  508  /**
f5f0da5a7b18fa Sourabh Jain 2024-03-26  509   * get_usable_memory_ranges - Get usable memory ranges. This list includes
f5f0da5a7b18fa Sourabh Jain 2024-03-26  510   *                            regions like crashkernel, opal/rtas & tce-table,
f5f0da5a7b18fa Sourabh Jain 2024-03-26  511   *                            that kdump kernel could use.
f5f0da5a7b18fa Sourabh Jain 2024-03-26  512   * @mem_ranges:               Range list to add the memory ranges to.
f5f0da5a7b18fa Sourabh Jain 2024-03-26  513   *
f5f0da5a7b18fa Sourabh Jain 2024-03-26  514   * Returns 0 on success, negative errno on error.
f5f0da5a7b18fa Sourabh Jain 2024-03-26  515   */
f5f0da5a7b18fa Sourabh Jain 2024-03-26  516  int get_usable_memory_ranges(struct crash_mem **mem_ranges)
f5f0da5a7b18fa Sourabh Jain 2024-03-26  517  {
b4a96ab50f368a Sourabh Jain 2025-11-07  518  	int ret, i;
f5f0da5a7b18fa Sourabh Jain 2024-03-26  519  
f5f0da5a7b18fa Sourabh Jain 2024-03-26  520  	/*
f5f0da5a7b18fa Sourabh Jain 2024-03-26  521  	 * Early boot failure observed on guests when low memory (first memory
f5f0da5a7b18fa Sourabh Jain 2024-03-26  522  	 * block?) is not added to usable memory. So, add [0, crashk_res.end]
f5f0da5a7b18fa Sourabh Jain 2024-03-26  523  	 * instead of [crashk_res.start, crashk_res.end] to workaround it.
f5f0da5a7b18fa Sourabh Jain 2024-03-26  524  	 * Also, crashed kernel's memory must be added to reserve map to
f5f0da5a7b18fa Sourabh Jain 2024-03-26  525  	 * avoid kdump kernel from using it.
f5f0da5a7b18fa Sourabh Jain 2024-03-26  526  	 */
f5f0da5a7b18fa Sourabh Jain 2024-03-26  527  	ret = add_mem_range(mem_ranges, 0, crashk_res.end + 1);
f5f0da5a7b18fa Sourabh Jain 2024-03-26  528  	if (ret)
f5f0da5a7b18fa Sourabh Jain 2024-03-26  529  		goto out;
f5f0da5a7b18fa Sourabh Jain 2024-03-26  530  
b4a96ab50f368a Sourabh Jain 2025-11-07 @531  	for (i = 0; i < crashk_cma_cnt; i++) {
b4a96ab50f368a Sourabh Jain 2025-11-07  532  		ret = add_mem_range(mem_ranges, crashk_cma_ranges[i].start,
b4a96ab50f368a Sourabh Jain 2025-11-07  533  				    crashk_cma_ranges[i].end - crashk_cma_ranges[i].start + 1);
b4a96ab50f368a Sourabh Jain 2025-11-07  534  		if (ret)
b4a96ab50f368a Sourabh Jain 2025-11-07  535  			goto out;
b4a96ab50f368a Sourabh Jain 2025-11-07  536  	}
b4a96ab50f368a Sourabh Jain 2025-11-07  537  
f5f0da5a7b18fa Sourabh Jain 2024-03-26  538  	ret = add_rtas_mem_range(mem_ranges);
f5f0da5a7b18fa Sourabh Jain 2024-03-26  539  	if (ret)
f5f0da5a7b18fa Sourabh Jain 2024-03-26  540  		goto out;
f5f0da5a7b18fa Sourabh Jain 2024-03-26  541  
f5f0da5a7b18fa Sourabh Jain 2024-03-26  542  	ret = add_opal_mem_range(mem_ranges);
f5f0da5a7b18fa Sourabh Jain 2024-03-26  543  	if (ret)
f5f0da5a7b18fa Sourabh Jain 2024-03-26  544  		goto out;
f5f0da5a7b18fa Sourabh Jain 2024-03-26  545  
f5f0da5a7b18fa Sourabh Jain 2024-03-26  546  	ret = add_tce_mem_ranges(mem_ranges);
f5f0da5a7b18fa Sourabh Jain 2024-03-26  547  out:
f5f0da5a7b18fa Sourabh Jain 2024-03-26  548  	if (ret)
f5f0da5a7b18fa Sourabh Jain 2024-03-26  549  		pr_err("Failed to setup usable memory ranges\n");
f5f0da5a7b18fa Sourabh Jain 2024-03-26  550  	return ret;
f5f0da5a7b18fa Sourabh Jain 2024-03-26  551  }
f5f0da5a7b18fa Sourabh Jain 2024-03-26  552  #endif /* CONFIG_CRASH_DUMP */
f5f0da5a7b18fa Sourabh Jain 2024-03-26  553  #endif /* CONFIG_KEXEC_FILE */
f5f0da5a7b18fa Sourabh Jain 2024-03-26  554  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.