Hi Antonio, kernel test robot noticed the following build errors: [auto build test ERROR on 03fc07a24735e0be8646563913abf5f5cb71ad19] url: https://github.com/intel-lab-lkp/linux/commits/Antonio-Quartulli/netlink-add-NLA_POLICY_MAX_LEN-macro/20241025-173611 base: 03fc07a24735e0be8646563913abf5f5cb71ad19 patch link: https://lore.kernel.org/r/20241025-b4-ovpn-v10-9-b87530777be7%40openvpn.net patch subject: [PATCH net-next v10 09/23] ovpn: implement basic RX path (UDP) config: powerpc-randconfig-r064-20241028 (https://download.01.org/0day-ci/archive/20241028/202410281248.ZHbto77a-lkp@xxxxxxxxx/config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241028/202410281248.ZHbto77a-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/202410281248.ZHbto77a-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> drivers/net/ovpn/socket.c:84:25: error: call to undeclared function 'udp_sk'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE' 49 | compiletime_assert_rwonce_type(x); \ | ^ include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^ include/linux/compiler_types.h:484:10: note: expanded from macro '__native_word' 484 | (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \ | ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:505:23: note: expanded from macro '_compiletime_assert' 505 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~ include/linux/compiler_types.h:497:9: note: expanded from macro '__compiletime_assert' 497 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE' 49 | compiletime_assert_rwonce_type(x); \ | ^ include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^ include/linux/compiler_types.h:484:39: note: expanded from macro '__native_word' 484 | (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \ | ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:505:23: note: expanded from macro '_compiletime_assert' 505 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~ include/linux/compiler_types.h:497:9: note: expanded from macro '__compiletime_assert' 497 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE' 49 | compiletime_assert_rwonce_type(x); \ | ^ include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^ include/linux/compiler_types.h:485:10: note: expanded from macro '__native_word' 485 | sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) | ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:505:23: note: expanded from macro '_compiletime_assert' 505 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~ include/linux/compiler_types.h:497:9: note: expanded from macro '__compiletime_assert' 497 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE' 49 | compiletime_assert_rwonce_type(x); \ | ^ include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^ include/linux/compiler_types.h:485:38: note: expanded from macro '__native_word' 485 | sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) | ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:505:23: note: expanded from macro '_compiletime_assert' 505 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~ include/linux/compiler_types.h:497:9: note: expanded from macro '__compiletime_assert' 497 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE' 49 | compiletime_assert_rwonce_type(x); \ | ^ include/asm-generic/rwonce.h:36:48: note: expanded from macro 'compiletime_assert_rwonce_type' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^ include/linux/compiler_types.h:517:22: note: expanded from macro 'compiletime_assert' 517 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~ include/linux/compiler_types.h:505:23: note: expanded from macro '_compiletime_assert' 505 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~ include/linux/compiler_types.h:497:9: note: expanded from macro '__compiletime_assert' 497 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:25: error: call to undeclared function 'udp_sk'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE' 50 | __READ_ONCE(x); \ | ^ include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE' 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ include/linux/compiler_types.h:473:13: note: expanded from macro '__unqual_scalar_typeof' 473 | _Generic((x), \ | ^ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE' 50 | __READ_ONCE(x); \ | ^ include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE' 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ include/linux/compiler_types.h:480:15: note: expanded from macro '__unqual_scalar_typeof' 480 | default: (x))) | ^ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:37: error: member reference type 'int' is not a pointer 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ~~~~~~~~~~ ^ include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE' 50 | __READ_ONCE(x); \ | ^ include/asm-generic/rwonce.h:44:72: note: expanded from macro '__READ_ONCE' 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ include/linux/compiler.h:77:42: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ >> drivers/net/ovpn/socket.c:84:52: error: use of undeclared identifier 'UDP_ENCAP_OVPNINUDP' 84 | if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) | ^ 11 errors generated. vim +/udp_sk +84 drivers/net/ovpn/socket.c 76 77 /* Retrieve the corresponding ovpn object from a UDP socket 78 * rcu_read_lock must be held on entry 79 */ 80 struct ovpn_struct *ovpn_from_udp_sock(struct sock *sk) 81 { 82 struct ovpn_socket *ovpn_sock; 83 > 84 if (unlikely(READ_ONCE(udp_sk(sk)->encap_type) != UDP_ENCAP_OVPNINUDP)) 85 return NULL; 86 87 ovpn_sock = rcu_dereference_sk_user_data(sk); 88 if (unlikely(!ovpn_sock)) 89 return NULL; 90 91 /* make sure that sk matches our stored transport socket */ 92 if (unlikely(!ovpn_sock->sock || sk != ovpn_sock->sock->sk)) 93 return NULL; 94 95 return ovpn_sock->ovpn; 96 } 97 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki