From: kernel test robot <lkp@intel.com>
To: Swaraj Gaikwad <swarajgaikwad1925@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH RFC] mm/memblock: Fix reserve_mem allocation overlapping KHO scratch regions
Date: Tue, 2 Dec 2025 04:31:20 +0800 [thread overview]
Message-ID: <202512020406.fLEkXsNR-lkp@intel.com> (raw)
In-Reply-To: <20251130172939.574999-1-swarajgaikwad1925@gmail.com>
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
prev parent reply other threads:[~2025-12-01 20:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-30 17:29 [PATCH RFC] mm/memblock: Fix reserve_mem allocation overlapping KHO scratch regions Swaraj Gaikwad
2025-11-30 15:03 ` Mike Rapoport
2025-11-30 21:15 ` Swaraj Gaikwad
2025-12-01 6:50 ` Mike Rapoport
2025-12-01 19:07 ` kernel test robot
2025-12-01 20:31 ` kernel test robot [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=202512020406.fLEkXsNR-lkp@intel.com \
--to=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=swarajgaikwad1925@gmail.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.