Re: [PATCH v5 1/2] ring-buffer: Introducing ring-buffer mapping functions

From: kernel test robot
Date: Fri Jul 28 2023 - 21:11:00 EST


Hi Vincent,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[cannot apply to rostedt-trace/for-next rostedt-trace/for-next-urgent]
[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/Vincent-Donnefort/ring-buffer-Introducing-ring-buffer-mapping-functions/20230729-005300
base: linus/master
patch link: https://lore.kernel.org/r/20230728164754.460767-2-vdonnefort%40google.com
patch subject: [PATCH v5 1/2] ring-buffer: Introducing ring-buffer mapping functions
config: arm-randconfig-r033-20230728 (https://download.01.org/0day-ci/archive/20230729/202307290828.WNBmhbTA-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230729/202307290828.WNBmhbTA-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307290828.WNBmhbTA-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> kernel/trace/ring_buffer.c:5946:16: error: incompatible integer to pointer conversion passing 'unsigned long' to parameter of type 'const void *' [-Wint-conversion]
5946 | virt_to_page(cpu_buffer->page_ids[i])->mapping = NULL;
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/arm/include/asm/memory.h:390:53: note: expanded from macro 'virt_to_page'
390 | #define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr))
| ^~~~~
include/asm-generic/memory_model.h:18:41: note: expanded from macro '__pfn_to_page'
18 | #define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET))
| ^~~
arch/arm/include/asm/memory.h:296:53: note: passing argument to parameter 'p' here
296 | static inline unsigned long virt_to_pfn(const void *p)
| ^
kernel/trace/ring_buffer.c:5968:15: error: incompatible integer to pointer conversion passing 'unsigned long' to parameter of type 'const void *' [-Wint-conversion]
5968 | virt_to_page(addr)->mapping = NULL;
| ^~~~
arch/arm/include/asm/memory.h:390:53: note: expanded from macro 'virt_to_page'
390 | #define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr))
| ^~~~~
include/asm-generic/memory_model.h:18:41: note: expanded from macro '__pfn_to_page'
18 | #define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET))
| ^~~
arch/arm/include/asm/memory.h:296:53: note: passing argument to parameter 'p' here
296 | static inline unsigned long virt_to_pfn(const void *p)
| ^
kernel/trace/ring_buffer.c:6156:22: error: incompatible integer to pointer conversion passing 'unsigned long' to parameter of type 'const void *' [-Wint-conversion]
6156 | return virt_to_page(cpu_buffer->page_ids[pgoff]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/include/asm/memory.h:390:53: note: expanded from macro 'virt_to_page'
390 | #define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr))
| ^~~~~
include/asm-generic/memory_model.h:18:41: note: expanded from macro '__pfn_to_page'
18 | #define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET))
| ^~~
arch/arm/include/asm/memory.h:296:53: note: passing argument to parameter 'p' here
296 | static inline unsigned long virt_to_pfn(const void *p)
| ^
3 errors generated.


vim +5946 kernel/trace/ring_buffer.c

5940
5941 static void rb_free_page_ids(struct ring_buffer_per_cpu *cpu_buffer)
5942 {
5943 int i;
5944
5945 for (i = 0; i < cpu_buffer->nr_pages + 1; i++)
> 5946 virt_to_page(cpu_buffer->page_ids[i])->mapping = NULL;
5947
5948 kfree(cpu_buffer->page_ids);
5949 cpu_buffer->page_ids = NULL;
5950 }
5951

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki