tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git network-ioctl-v6 head: d93d01c9c0e4e00d596e5153e040223d77fe51eb commit: ab7c178d9f4cdef429952d01fe1349abc2be957e [2/38] compat: make linux/compat.h available everywhere config: riscv-randconfig-r011-20210720 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project c781eb153bfbd1b52b03efe34f56bbeccbb8aba6) 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 riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commit/?id=ab7c178d9f4cdef429952d01fe1349abc2be957e git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git git fetch --no-tags arnd-playground network-ioctl-v6 git checkout ab7c178d9f4cdef429952d01fe1349abc2be957e # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/scsi/ fs/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from fs/open.c:32: In file included from include/linux/ima.h:13: In file included from include/linux/kexec.h:25: >> include/linux/compat.h:348:3: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifru_data; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ In file included from fs/open.c:32: In file included from include/linux/ima.h:13: In file included from include/linux/kexec.h:25: include/linux/compat.h:355:2: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifcbuf; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ 2 errors generated. -- In file included from fs/statfs.c:11: >> include/linux/compat.h:348:3: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifru_data; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ In file included from fs/statfs.c:11: include/linux/compat.h:355:2: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifcbuf; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ fs/statfs.c:131:3: warning: 'memcpy' will always overflow; destination buffer has size 64, but size argument is 88 [-Wfortify-source] memcpy(&buf, st, sizeof(*st)); ^ 1 warning and 2 errors generated. -- In file included from fs/io_uring.c:46: >> include/linux/compat.h:348:3: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifru_data; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ In file included from fs/io_uring.c:46: include/linux/compat.h:355:2: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifcbuf; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ In file included from fs/io_uring.c:57: include/linux/mman.h:158:9: warning: division by zero is undefined [-Wdivision-by-zero] _calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mman.h:135:21: note: expanded from macro '_calc_vm_trans' : ((x) & (bit1)) / ((bit1) / (bit2)))) ^ ~~~~~~~~~~~~~~~~~ 1 warning and 2 errors generated. -- In file included from drivers/scsi/ips.c:183: In file included from include/scsi/sg.h:72: >> include/linux/compat.h:348:3: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifru_data; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ In file included from drivers/scsi/ips.c:183: In file included from include/scsi/sg.h:72: include/linux/compat.h:355:2: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifcbuf; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ >> drivers/scsi/ips.c:6927:38: warning: shift count >= width of type [-Wshift-count-overflow] !dma_set_mask(&ha->pcidev->dev, DMA_BIT_MASK(64))) { ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 1 warning and 2 errors generated. -- In file included from drivers/scsi/hpsa.c:32: >> include/linux/compat.h:348:3: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifru_data; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ In file included from drivers/scsi/hpsa.c:32: include/linux/compat.h:355:2: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifcbuf; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ >> drivers/scsi/hpsa.c:8741:32: warning: shift count >= width of type [-Wshift-count-overflow] rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ drivers/scsi/hpsa.c:9481:16: warning: variable 'transMethod' set but not used [-Wunused-but-set-variable] unsigned long transMethod = CFGTBL_Trans_Performant | ^ 2 warnings and 2 errors generated. -- In file included from fs/ext4/super.c:50: In file included from fs/ext4/ext4.h:40: >> include/linux/compat.h:348:3: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifru_data; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ In file included from fs/ext4/super.c:50: In file included from fs/ext4/ext4.h:40: include/linux/compat.h:355:2: error: unknown type name 'compat_caddr_t'; did you mean 'compat_daddr_t'? compat_caddr_t ifcbuf; ^~~~~~~~~~~~~~ compat_daddr_t include/asm-generic/compat.h:13:13: note: 'compat_daddr_t' declared here typedef s32 compat_daddr_t; ^ fs/ext4/super.c:5843:6: warning: variable 'enable_quota' set but not used [-Wunused-but-set-variable] int enable_quota = 0; ^ 1 warning and 2 errors generated. vim +348 include/linux/compat.h 7a50a240c49547 Arnd Bergmann 2009-11-08 331 2dceba14ef0e62 Arnd Bergmann 2009-11-06 332 struct compat_ifreq { 2dceba14ef0e62 Arnd Bergmann 2009-11-06 333 union { 2dceba14ef0e62 Arnd Bergmann 2009-11-06 334 char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */ 2dceba14ef0e62 Arnd Bergmann 2009-11-06 335 } ifr_ifrn; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 336 union { 2dceba14ef0e62 Arnd Bergmann 2009-11-06 337 struct sockaddr ifru_addr; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 338 struct sockaddr ifru_dstaddr; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 339 struct sockaddr ifru_broadaddr; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 340 struct sockaddr ifru_netmask; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 341 struct sockaddr ifru_hwaddr; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 342 short ifru_flags; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 343 compat_int_t ifru_ivalue; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 344 compat_int_t ifru_mtu; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 345 struct compat_ifmap ifru_map; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 346 char ifru_slave[IFNAMSIZ]; /* Just fits the size */ 2dceba14ef0e62 Arnd Bergmann 2009-11-06 347 char ifru_newname[IFNAMSIZ]; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 @348 compat_caddr_t ifru_data; 7a50a240c49547 Arnd Bergmann 2009-11-08 349 struct compat_if_settings ifru_settings; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 350 } ifr_ifru; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 351 }; 2dceba14ef0e62 Arnd Bergmann 2009-11-06 352 :::::: The code at line 348 was first introduced by commit :::::: 2dceba14ef0e62738d58777a1bd4018130d47a74 compat: add struct compat_ifreq etc to compat.h :::::: TO: Arnd Bergmann :::::: CC: David S. Miller --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org