public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* Re: [PATCH RFC] mm/memblock: Fix reserve_mem allocation overlapping KHO scratch regions
       [not found] <20251130172939.574999-1-swarajgaikwad1925@gmail.com>
@ 2025-12-01 20:31 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-01 20:31 UTC (permalink / raw)
  To: Swaraj Gaikwad; +Cc: llvm, oe-kbuild-all

Hi Swaraj,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on 2178727587e1eaa930b8266377119ed6043067df]

url:    https://github.com/intel-lab-lkp/linux/commits/Swaraj-Gaikwad/mm-memblock-Fix-reserve_mem-allocation-overlapping-KHO-scratch-regions/20251130-200138
base:   2178727587e1eaa930b8266377119ed6043067df
patch link:    https://lore.kernel.org/r/20251130172939.574999-1-swarajgaikwad1925%40gmail.com
patch subject: [PATCH RFC] mm/memblock: Fix reserve_mem allocation overlapping KHO scratch regions
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20251202/202512020406.fLEkXsNR-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251202/202512020406.fLEkXsNR-lkp@intel.com/reproduce)

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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512020406.fLEkXsNR-lkp@intel.com/

All errors (new ones prefixed by >>):

>> mm/memblock.c:2692:18: error: use of undeclared identifier 'kho_scratch_cnt'
    2692 |         for (i = 0; i < kho_scratch_cnt; i++) {
         |                         ^
>> mm/memblock.c:2693:19: error: use of undeclared identifier 'kho_scratch'
    2693 |                 scratch_start = kho_scratch[i].addr;
         |                                 ^
   mm/memblock.c:2694:17: error: use of undeclared identifier 'kho_scratch'
    2694 |                 scratch_end = kho_scratch[i].addr + kho_scratch[i].size;
         |                               ^
   mm/memblock.c:2694:39: error: use of undeclared identifier 'kho_scratch'
    2694 |                 scratch_end = kho_scratch[i].addr + kho_scratch[i].size;
         |                                                     ^
   4 errors generated.


vim +/kho_scratch_cnt +2692 mm/memblock.c

  2627	
  2628	/*
  2629	 * Parse reserve_mem=nn:align:name
  2630	 */
  2631	static int __init reserve_mem(char *p)
  2632	{
  2633		phys_addr_t start, size, align, tmp;
  2634		char *name;
  2635		char *oldp;
  2636		int len;
  2637	
  2638		if (!p)
  2639			return -EINVAL;
  2640	
  2641		/* Check if there's room for more reserved memory */
  2642		if (reserved_mem_count >= RESERVE_MEM_MAX_ENTRIES)
  2643			return -EBUSY;
  2644	
  2645		oldp = p;
  2646		size = memparse(p, &p);
  2647		if (!size || p == oldp)
  2648			return -EINVAL;
  2649	
  2650		if (*p != ':')
  2651			return -EINVAL;
  2652	
  2653		align = memparse(p+1, &p);
  2654		if (*p != ':')
  2655			return -EINVAL;
  2656	
  2657		/*
  2658		 * memblock_phys_alloc() doesn't like a zero size align,
  2659		 * but it is OK for this command to have it.
  2660		 */
  2661		if (align < SMP_CACHE_BYTES)
  2662			align = SMP_CACHE_BYTES;
  2663	
  2664		name = p + 1;
  2665		len = strlen(name);
  2666	
  2667		/* name needs to have length but not too big */
  2668		if (!len || len >= RESERVE_MEM_NAME_SIZE)
  2669			return -EINVAL;
  2670	
  2671		/* Make sure that name has text */
  2672		for (p = name; *p; p++) {
  2673			if (!isspace(*p))
  2674				break;
  2675		}
  2676		if (!*p)
  2677			return -EINVAL;
  2678	
  2679		/* Make sure the name is not already used */
  2680		if (reserve_mem_find_by_name(name, &start, &tmp))
  2681			return -EBUSY;
  2682	
  2683		/* Pick previous allocations up from KHO if available */
  2684		if (reserve_mem_kho_revive(name, size, align))
  2685			return 1;
  2686	
  2687		phys_addr_t scratch_start, scratch_end;
  2688		phys_addr_t curr_start_addr = 0;
  2689		phys_addr_t alloc_end_addr = MEMBLOCK_ALLOC_ACCESSIBLE;
  2690		unsigned int i;
  2691	
> 2692		for (i = 0; i < kho_scratch_cnt; i++) {
> 2693			scratch_start = kho_scratch[i].addr;
  2694			scratch_end = kho_scratch[i].addr + kho_scratch[i].size;
  2695			alloc_end_addr = scratch_start;
  2696			if (alloc_end_addr > curr_start_addr) {
  2697				start = memblock_phys_alloc_range(size, align, curr_start_addr, alloc_end_addr);
  2698				if (start)
  2699					break;
  2700			}
  2701	   curr_start_addr = scratch_end;
  2702		}
  2703		if (!start)
  2704			return -ENOMEM;
  2705	
  2706		reserved_mem_add(start, size, name);
  2707	
  2708		return 1;
  2709	}
  2710	__setup("reserve_mem=", reserve_mem);
  2711	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-12-01 20:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20251130172939.574999-1-swarajgaikwad1925@gmail.com>
2025-12-01 20:31 ` [PATCH RFC] mm/memblock: Fix reserve_mem allocation overlapping KHO scratch regions kernel test robot

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