Hi Alexander,
kernel test robot noticed the following build warnings:
[auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING 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-002-20250501 (https://download.01.org/0day-ci/archive/20250501/202505010957.08s1jPkF-lkp@i...) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250501/202505010957.08s1jPkF-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/202505010957.08s1jPkF-lkp@intel.com/
All warnings (new ones prefixed by >>):
mm/kasan/shadow.c: In function 'kasan_populate_vmalloc_pte': mm/kasan/shadow.c:313:18: error: implicit declaration of function 'pfn_to_virt'; did you mean 'fix_to_virt'? [-Werror=implicit-function-declaration] 313 | __memset(pfn_to_virt(pfn), KASAN_VMALLOC_INVALID, PAGE_SIZE); | ^~~~~~~~~~~ | fix_to_virt
mm/kasan/shadow.c:313:18: warning: passing argument 1 of '__memset' makes pointer from integer without a cast [-Wint-conversion]
313 | __memset(pfn_to_virt(pfn), KASAN_VMALLOC_INVALID, PAGE_SIZE); | ^~~~~~~~~~~~~~~~ | | | int In file included from arch/x86/include/asm/string.h:5, from arch/x86/include/asm/cpuid/api.h:10, from arch/x86/include/asm/cpuid.h:6, from arch/x86/include/asm/processor.h:19, from arch/x86/include/asm/cpufeature.h:5, from arch/x86/include/asm/thread_info.h:59, from include/linux/thread_info.h:60, from include/linux/spinlock.h:60, from arch/x86/include/asm/pgtable.h:19, from include/linux/pgtable.h:6, from include/linux/kasan.h:37, from mm/kasan/shadow.c:14: arch/x86/include/asm/string_64.h:23:22: note: expected 'void *' but argument is of type 'int' 23 | void *__memset(void *s, int c, size_t n); | ~~~~~~^ cc1: some warnings being treated as errors
vim +/__memset +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