Messages in this thread | | | Date | Tue, 17 May 2022 21:56:59 +0800 | From | kernel test robot <> | Subject | [arm-integrator:kernel-in-vmalloc-v5.18-rc1 8/9] lib/test_free_pages.c:20:36: warning: incompatible integer to pointer conversion passing 'unsigned long' to parameter of type 'const void *' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git kernel-in-vmalloc-v5.18-rc1 head: 67a8d6eb3d015908f35d6091c02f17d7c3b55bf3 commit: 52cbc963c5c9daba74109e9782e3487cdf48fe5c [8/9] ARM: Compile the kernel into VMALLOC config: arm-randconfig-r021-20220516 (https://download.01.org/0day-ci/archive/20220517/202205172107.C9n2wfmb-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 853fa8ee225edf2d0de94b0dcbd31bea916e825e) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git/commit/?id=52cbc963c5c9daba74109e9782e3487cdf48fe5c git remote add arm-integrator https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git git fetch --no-tags arm-integrator kernel-in-vmalloc-v5.18-rc1 git checkout 52cbc963c5c9daba74109e9782e3487cdf48fe5c # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash lib/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> lib/test_free_pages.c:20:36: warning: incompatible integer to pointer conversion passing 'unsigned long' to parameter of type 'const void *' [-Wint-conversion] struct page *page = virt_to_page(addr); ^~~~ arch/arm/include/asm/memory.h:442:53: note: expanded from macro 'virt_to_page' #define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr)) ^~~~~ include/asm-generic/memory_model.h:40:27: note: expanded from macro '__pfn_to_page' ({ unsigned long __pfn = (pfn); \ ^~~ arch/arm/include/asm/memory.h:323:53: note: passing argument to parameter 'p' here static inline unsigned long virt_to_pfn(const void *p) ^ 1 warning generated.
vim +20 lib/test_free_pages.c
e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 13) e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 14) static void test_free_pages(gfp_t gfp) e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 15) { e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 16) unsigned int i; e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 17) e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 18) for (i = 0; i < 1000 * 1000; i++) { e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 19) unsigned long addr = __get_free_pages(gfp, 3); e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 @20) struct page *page = virt_to_page(addr); e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 21) e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 22) /* Simulate page cache getting a speculative reference */ e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 23) get_page(page); e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 24) free_pages(addr, 3); e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 25) put_page(page); e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 26) } e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 27) } e320d3012d25b1 Matthew Wilcox (Oracle 2020-10-13 28)
:::::: The code at line 20 was first introduced by commit :::::: e320d3012d25b1fb5f3df4edb7bd44a1c362ec10 mm/page_alloc.c: fix freeing non-compound pages
:::::: TO: Matthew Wilcox (Oracle) <willy@infradead.org> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |