Hi Alexander,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on linus/master v6.15-rc4 next-20250430] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Alexander-Gordeev/kasan-Avoid... base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/573a823565734e1eac3aa128fb9d3506ec918a72.174594084... patch subject: [PATCH v3 1/1] kasan: Avoid sleepable page allocation from atomic context config: x86_64-buildonly-randconfig-001-20250501 (https://download.01.org/0day-ci/archive/20250501/202505010807.0tj4Krnz-lkp@i...) compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250501/202505010807.0tj4Krnz-lkp@i...)
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/202505010807.0tj4Krnz-lkp@intel.com/
All errors (new ones prefixed by >>):
mm/kasan/shadow.c:313:11: error: call to undeclared function 'pfn_to_virt'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
313 | __memset(pfn_to_virt(pfn), KASAN_VMALLOC_INVALID, PAGE_SIZE); | ^ mm/kasan/shadow.c:313:11: note: did you mean 'fix_to_virt'? include/asm-generic/fixmap.h:30:38: note: 'fix_to_virt' declared here 30 | static __always_inline unsigned long fix_to_virt(const unsigned int idx) | ^
mm/kasan/shadow.c:313:11: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'void *' [-Wint-conversion]
313 | __memset(pfn_to_virt(pfn), KASAN_VMALLOC_INVALID, PAGE_SIZE); | ^~~~~~~~~~~~~~~~ arch/x86/include/asm/string_64.h:23:22: note: passing argument to parameter 's' here 23 | void *__memset(void *s, int c, size_t n); | ^ 2 errors generated.
vim +/pfn_to_virt +313 mm/kasan/shadow.c
299 300 static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr, 301 void *_data) 302 { 303 struct vmalloc_populate_data *data = _data; 304 struct page *page; 305 unsigned long pfn; 306 pte_t pte; 307 308 if (likely(!pte_none(ptep_get(ptep)))) 309 return 0; 310 311 page = data->pages[PFN_DOWN(addr - data->start)]; 312 pfn = page_to_pfn(page);
313 __memset(pfn_to_virt(pfn), KASAN_VMALLOC_INVALID, PAGE_SIZE);
314 pte = pfn_pte(pfn, PAGE_KERNEL); 315 316 spin_lock(&init_mm.page_table_lock); 317 if (likely(pte_none(ptep_get(ptep)))) 318 set_pte_at(&init_mm, addr, ptep, pte); 319 spin_unlock(&init_mm.page_table_lock); 320 321 return 0; 322 } 323