linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [akpm-mm:mm-nonmm-unstable 53/56] kernel/kexec_handover.c:934:26: error: too few arguments to function call, expected 2, have 1
@ 2025-09-21  2:49 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-09-21  2:49 UTC (permalink / raw)
  To: Andrew Morton
  Cc: llvm, oe-kbuild-all, Linux Memory Management List,
	Mike Rapoport (Microsoft)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-nonmm-unstable
head:   aceb0f48c0c648f4677bef10dc13f96c49ab4587
commit: 9bb6be995614ed83f0ecddee3c48a706ac2587a0 [53/56] kho-add-support-for-preserving-vmalloc-allocations-fix
config: arm64-randconfig-003-20250921 (https://download.01.org/0day-ci/archive/20250921/202509211055.qaTxLxQS-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project efd96afedf2c0f6f2cc34cf5a9a7e3e78f592255)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250921/202509211055.qaTxLxQS-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/202509211055.qaTxLxQS-lkp@intel.com/

All errors (new ones prefixed by >>):

>> kernel/kexec_handover.c:934:26: error: too few arguments to function call, expected 2, have 1
     934 |                                 kho_restore_page(phys);
         |                                 ~~~~~~~~~~~~~~~~     ^
   kernel/kexec_handover.c:214:13: note: 'kho_restore_page' declared here
     214 | static void kho_restore_page(struct page *page, unsigned int order)
         |             ^                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/kexec_handover.c:942:38: error: too few arguments to function call, expected 2, have 1
     942 |                 kho_restore_page(page_to_phys(page));
         |                 ~~~~~~~~~~~~~~~~                   ^
   kernel/kexec_handover.c:214:13: note: 'kho_restore_page' declared here
     214 | static void kho_restore_page(struct page *page, unsigned int order)
         |             ^                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 errors generated.


vim +934 kernel/kexec_handover.c

   890	
   891	/**
   892	 * kho_restore_vmalloc - recreates and populates an area in vmalloc address
   893	 * space from the preserved memory.
   894	 * @preservation: preservation metadata.
   895	 *
   896	 * Recreates an area in vmalloc address space and populates it with memory that
   897	 * was preserved using kho_preserve_vmalloc().
   898	 *
   899	 * Return: pointer to the area in the vmalloc address space, NULL on failure.
   900	 */
   901	void *kho_restore_vmalloc(const struct kho_vmalloc *preservation)
   902	{
   903		struct kho_vmalloc_chunk *chunk = KHOSER_LOAD_PTR(preservation->first);
   904		unsigned int align, order, shift, vm_flags;
   905		unsigned int idx = 0, nr;
   906		unsigned long addr, size;
   907		struct vm_struct *area;
   908		struct page **pages;
   909		int err;
   910	
   911		vm_flags = kho_flags_to_vmalloc(preservation->flags);
   912		if (vm_flags & ~KHO_VMALLOC_SUPPORTED_FLAGS)
   913			return NULL;
   914	
   915		nr = preservation->total_pages;
   916		pages = kvmalloc_array(nr, sizeof(*pages), GFP_KERNEL);
   917		if (!pages)
   918			return NULL;
   919		order = preservation->order;
   920		shift = PAGE_SHIFT + order;
   921		align = 1 << shift;
   922	
   923		while (chunk) {
   924			struct page *page;
   925	
   926			for (int i = 0; chunk->phys[i]; i++) {
   927				phys_addr_t phys = chunk->phys[i];
   928	
   929				if (idx + (1 << order) > nr)
   930					goto err_free_pages_array;
   931	
   932				for (int j = 0; j < (1 << order); j++) {
   933					page = phys_to_page(phys);
 > 934					kho_restore_page(phys);
   935					pages[idx++] = page;
   936					phys += PAGE_SIZE;
   937				}
   938			}
   939	
   940			page = virt_to_page(chunk);
   941			chunk = KHOSER_LOAD_PTR(chunk->hdr.next);
   942			kho_restore_page(page_to_phys(page));
   943			__free_page(page);
   944		}
   945	
   946		if (idx != nr)
   947			goto err_free_pages_array;
   948	
   949		area = __get_vm_area_node(nr * PAGE_SIZE, align, shift, vm_flags,
   950					  VMALLOC_START, VMALLOC_END, NUMA_NO_NODE,
   951					  GFP_KERNEL, __builtin_return_address(0));
   952		if (!area)
   953			goto err_free_pages_array;
   954	
   955		addr = (unsigned long)area->addr;
   956		size = get_vm_area_size(area);
   957		err = vmap_pages_range(addr, addr + size, PAGE_KERNEL, pages, shift);
   958		if (err)
   959			goto err_free_vm_area;
   960	
   961		area->pages = pages;
   962		area->nr_pages = nr;
   963	
   964		return area->addr;
   965	
   966	err_free_vm_area:
   967		free_vm_area(area);
   968	err_free_pages_array:
   969		kvfree(pages);
   970		return NULL;
   971	}
   972	EXPORT_SYMBOL_GPL(kho_restore_vmalloc);
   973	

-- 
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-09-21  2:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-21  2:49 [akpm-mm:mm-nonmm-unstable 53/56] kernel/kexec_handover.c:934:26: error: too few arguments to function call, expected 2, have 1 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