[arm-integrator:kernel-in-vmalloc-v5.18-rc1 8/16] drivers/infiniband/sw/siw/siw_qp_tx.c:32:23: warning: incompatible integer to pointer conversion passing 'dma_addr_t' (aka 'unsigned int') to parameter of type 'const void *'

From: kernel test robot
Date: Sat May 21 2022 - 23:39:20 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git kernel-in-vmalloc-v5.18-rc1
head: b9b1d325d83c15b2e27bfa8635f99a7d20811457
commit: 16d1427dc6f44107571afbf96254956716c9ad1f [8/16] ARM: Compile the kernel into VMALLOC
config: arm-randconfig-c002-20220522 (https://download.01.org/0day-ci/archive/20220522/202205221113.qnlaLJKi-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 1443dbaba6f0e57be066995db9164f89fb57b413)
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=16d1427dc6f44107571afbf96254956716c9ad1f
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 16d1427dc6f44107571afbf96254956716c9ad1f
# 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 drivers/infiniband/sw/siw/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/infiniband/sw/siw/siw_qp_tx.c:32:23: warning: incompatible integer to pointer conversion passing 'dma_addr_t' (aka 'unsigned int') to parameter of type 'const void *' [-Wint-conversion]
return virt_to_page(paddr);
^~~~~
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:18:41: note: expanded from macro '__pfn_to_page'
#define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET))
^~~
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)
^
>> drivers/infiniband/sw/siw/siw_qp_tx.c:538:36: warning: incompatible integer to pointer conversion passing 'unsigned long long' to parameter of type 'const void *' [-Wint-conversion]
page_array[seg] = virt_to_page(va & PAGE_MASK);
~~~~~~~~~~~~~^~~~~~~~~~~~~~~
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:18:41: note: expanded from macro '__pfn_to_page'
#define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET))
^~~
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)
^
2 warnings generated.


vim +32 drivers/infiniband/sw/siw/siw_qp_tx.c

b9be6f18cf9ed0 Bernard Metzler 2019-06-20 20
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 21 #define MAX_HDR_INLINE \
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 22 (((uint32_t)(sizeof(struct siw_rreq_pkt) - \
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 23 sizeof(struct iwarp_send))) & 0xF8)
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 24
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 25 static struct page *siw_get_pblpage(struct siw_mem *mem, u64 addr, int *idx)
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 26 {
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 27 struct siw_pbl *pbl = mem->pbl;
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 28 u64 offset = addr - mem->va;
c536277e0db1ad Bernard Metzler 2019-08-22 29 dma_addr_t paddr = siw_pbl_get_buffer(pbl, offset, NULL, idx);
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 30
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 31 if (paddr)
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 @32 return virt_to_page(paddr);
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 33
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 34 return NULL;
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 35 }
b9be6f18cf9ed0 Bernard Metzler 2019-06-20 36

:::::: The code at line 32 was first introduced by commit
:::::: b9be6f18cf9ed04dd8087cb9d69de6e90d8ceb08 rdma/siw: transmit path

:::::: TO: Bernard Metzler <bmt@xxxxxxxxxxxxxx>
:::::: CC: Jason Gunthorpe <jgg@xxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://01.org/lkp