From: kernel test robot <lkp@intel.com>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: oe-kbuild-all@lists.linux.dev, netfilter-devel@vger.kernel.org,
coreteam@netfilter.org, Florian Westphal <fw@strlen.de>
Subject: [netfilter-nf:testing 7/9] ./include/net/ndisc.h:370:33: error: invalid storage class for function '__ipv6_neigh_lookup'
Date: Fri, 20 Mar 2026 21:19:26 +0100 [thread overview]
Message-ID: <202603202130.LAQ967HZ-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git testing
head: b1bad43d8b00ab31c8f93145a4c8db1567f0d2fe
commit: 20d564bba6b3806c26498061299a88330561efa5 [7/9] netfilter: ctnetlink: ensure safe access to master conntrack
config: i386-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20260320/202603202130.LAQ967HZ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260320/202603202130.LAQ967HZ-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603202130.LAQ967HZ-lkp@intel.com/
All errors (new ones prefixed by >>):
| ^~
./include/net/ndisc.h:282:20: error: invalid use of undefined type 'struct net_device'
282 | dev->ndisc_ops->prefix_rcv_add_addr(net, dev, pinfo, in6_dev,
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:297:19: error: invalid storage class for function 'ndisc_addr_option_pad'
297 | static inline int ndisc_addr_option_pad(unsigned short type)
| ^~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:305:19: error: invalid storage class for function '__ndisc_opt_addr_space'
305 | static inline int __ndisc_opt_addr_space(unsigned char addr_len, int pad)
| ^~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:311:19: error: invalid storage class for function 'ndisc_opt_addr_space'
311 | static inline int ndisc_opt_addr_space(struct net_device *dev, u8 icmp6_type)
| ^~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function 'ndisc_opt_addr_space':
./include/net/ndisc.h:313:42: error: invalid use of undefined type 'struct net_device'
313 | return __ndisc_opt_addr_space(dev->addr_len,
| ^~
./include/net/ndisc.h:314:64: error: invalid use of undefined type 'struct net_device'
314 | ndisc_addr_option_pad(dev->type)) +
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:318:19: error: invalid storage class for function 'ndisc_redirect_opt_addr_space'
318 | static inline int ndisc_redirect_opt_addr_space(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function 'ndisc_redirect_opt_addr_space':
./include/net/ndisc.h:323:42: error: invalid use of undefined type 'struct net_device'
323 | return __ndisc_opt_addr_space(dev->addr_len,
| ^~
./include/net/ndisc.h:324:64: error: invalid use of undefined type 'struct net_device'
324 | ndisc_addr_option_pad(dev->type)) +
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:330:19: error: invalid storage class for function '__ndisc_opt_addr_data'
330 | static inline u8 *__ndisc_opt_addr_data(struct nd_opt_hdr *p,
| ^~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:340:19: error: invalid storage class for function 'ndisc_opt_addr_data'
340 | static inline u8 *ndisc_opt_addr_data(struct nd_opt_hdr *p,
| ^~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function 'ndisc_opt_addr_data':
./include/net/ndisc.h:343:44: error: invalid use of undefined type 'struct net_device'
343 | return __ndisc_opt_addr_data(p, dev->addr_len,
| ^~
./include/net/ndisc.h:344:63: error: invalid use of undefined type 'struct net_device'
344 | ndisc_addr_option_pad(dev->type));
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:347:19: error: invalid storage class for function 'ndisc_hashfn'
347 | static inline u32 ndisc_hashfn(const void *pkey, const struct net_device *dev, __u32 *hash_rnd)
| ^~~~~~~~~~~~
./include/net/ndisc.h:357:33: error: invalid storage class for function '__ipv6_neigh_lookup_noref'
357 | static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function '__ipv6_neigh_lookup_noref':
./include/net/ndisc.h:359:64: error: passing argument 3 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
359 | return ___neigh_lookup_noref(&nd_tbl, neigh_key_eq128, ndisc_hashfn, pkey, dev);
| ^~~~~~~~~~~~
| |
| u32 (*)(const void *, const struct net_device *, __u32 *) {aka unsigned int (*)(const void *, const struct net_device *, unsigned int *)}
./include/net/neighbour.h:306:17: note: expected '__u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'} but argument is of type 'u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'}
306 | __u32 (*hash)(const void *pkey,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
307 | const struct net_device *dev,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308 | __u32 *hash_rnd),
| ~~~~~~~~~~~~~~~~
./include/net/ndisc.h:359:84: error: passing argument 5 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
359 | return ___neigh_lookup_noref(&nd_tbl, neigh_key_eq128, ndisc_hashfn, pkey, dev);
| ^~~
| |
| struct net_device *
./include/net/neighbour.h:310:28: note: expected 'struct net_device *' but argument is of type 'struct net_device *'
310 | struct net_device *dev)
| ~~~~~~~~~~~~~~~~~~~^~~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:363:19: error: invalid storage class for function '__ipv6_neigh_lookup_noref_stub'
363 | struct neighbour *__ipv6_neigh_lookup_noref_stub(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function '__ipv6_neigh_lookup_noref_stub':
./include/net/ndisc.h:367:38: error: passing argument 3 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
367 | ndisc_hashfn, pkey, dev);
| ^~~~~~~~~~~~
| |
| u32 (*)(const void *, const struct net_device *, __u32 *) {aka unsigned int (*)(const void *, const struct net_device *, unsigned int *)}
./include/net/neighbour.h:306:17: note: expected '__u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'} but argument is of type 'u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'}
306 | __u32 (*hash)(const void *pkey,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
307 | const struct net_device *dev,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308 | __u32 *hash_rnd),
| ~~~~~~~~~~~~~~~~
./include/net/ndisc.h:367:58: error: passing argument 5 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
367 | ndisc_hashfn, pkey, dev);
| ^~~
| |
| struct net_device *
./include/net/neighbour.h:310:28: note: expected 'struct net_device *' but argument is of type 'struct net_device *'
310 | struct net_device *dev)
| ~~~~~~~~~~~~~~~~~~~^~~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
>> ./include/net/ndisc.h:370:33: error: invalid storage class for function '__ipv6_neigh_lookup'
370 | static inline struct neighbour *__ipv6_neigh_lookup(struct net_device *dev, const void *pkey)
| ^~~~~~~~~~~~~~~~~~~
>> ./include/net/ndisc.h:383:20: error: invalid storage class for function '__ipv6_confirm_neigh'
383 | static inline void __ipv6_confirm_neigh(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:394:20: error: invalid storage class for function '__ipv6_confirm_neigh_stub'
394 | static inline void __ipv6_confirm_neigh_stub(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:406:33: error: invalid storage class for function 'ip_neigh_gw6'
406 | static inline struct neighbour *ip_neigh_gw6(struct net_device *dev,
| ^~~~~~~~~~~~
./include/net/ndisc.h: In function 'ip_neigh_gw6':
./include/net/ndisc.h:413:65: error: passing argument 3 of '__neigh_create' from incompatible pointer type [-Wincompatible-pointer-types]
413 | neigh = __neigh_create(ipv6_stub->nd_tbl, addr, dev, false);
| ^~~
| |
| struct net_device *
./include/net/neighbour.h:347:53: note: expected 'struct net_device *' but argument is of type 'struct net_device *'
347 | struct net_device *dev, bool want_ref);
| ~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/route.h:40:20: error: invalid storage class for function 'ip_sock_rt_scope'
40 | static inline __u8 ip_sock_rt_scope(const struct sock *sk)
| ^~~~~~~~~~~~~~~~
./include/net/route.h:48:20: error: invalid storage class for function 'ip_sock_rt_tos'
48 | static inline __u8 ip_sock_rt_tos(const struct sock *sk)
| ^~~~~~~~~~~~~~
./include/net/route.h:72:33: error: field 'rt_gw6' has incomplete type
72 | struct in6_addr rt_gw6;
| ^~~~~~
./include/net/route.h:86:30: error: invalid storage class for function 'skb_rtable'
86 | static inline struct rtable *skb_rtable(const struct sk_buff *skb)
| ^~~~~~~~~~
In file included from ./include/linux/kernel.h:22:
./include/net/route.h: In function 'skb_rtable':
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/container_of.h:36:18: note: in definition of macro 'container_of_const'
36 | _Generic(ptr, \
| ^~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
./include/linux/skbuff.h:1157:63: note: expected 'const struct sk_buff *' but argument is of type 'const struct sk_buff *'
1157 | static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
| ~~~~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/container_of.h:37:32: note: in definition of macro 'container_of_const'
37 | const typeof(*(ptr)) *: ((const type *)container_of(ptr, type, member)),\
| ^~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
./include/linux/skbuff.h:1157:63: note: expected 'const struct sk_buff *' but argument is of type 'const struct sk_buff *'
1157 | static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
| ~~~~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/container_of.h:20:33: note: in definition of macro 'container_of'
20 | void *__mptr = (void *)(ptr); \
| ^~~
./include/net/route.h:80:26: note: in expansion of macro 'container_of_const'
80 | #define dst_rtable(_ptr) container_of_const(_ptr, struct rtable, dst)
| ^~~~~~~~~~~~~~~~~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
./include/linux/skbuff.h:1157:63: note: expected 'const struct sk_buff *' but argument is of type 'const struct sk_buff *'
1157 | static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
| ~~~~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
./include/linux/container_of.h:21:9: note: in expansion of macro 'static_assert'
21 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
./include/linux/container_of.h:21:23: note: in expansion of macro '__same_type'
21 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
./include/linux/container_of.h:37:56: note: in expansion of macro 'container_of'
37 | const typeof(*(ptr)) *: ((const type *)container_of(ptr, type, member)),\
| ^~~~~~~~~~~~
./include/net/route.h:80:26: note: in expansion of macro 'container_of_const'
80 | #define dst_rtable(_ptr) container_of_const(_ptr, struct rtable, dst)
| ^~~~~~~~~~~~~~~~~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
--
| ^~
./include/net/ndisc.h:282:20: error: invalid use of undefined type 'struct net_device'
282 | dev->ndisc_ops->prefix_rcv_add_addr(net, dev, pinfo, in6_dev,
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:297:19: error: invalid storage class for function 'ndisc_addr_option_pad'
297 | static inline int ndisc_addr_option_pad(unsigned short type)
| ^~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:305:19: error: invalid storage class for function '__ndisc_opt_addr_space'
305 | static inline int __ndisc_opt_addr_space(unsigned char addr_len, int pad)
| ^~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:311:19: error: invalid storage class for function 'ndisc_opt_addr_space'
311 | static inline int ndisc_opt_addr_space(struct net_device *dev, u8 icmp6_type)
| ^~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function 'ndisc_opt_addr_space':
./include/net/ndisc.h:313:42: error: invalid use of undefined type 'struct net_device'
313 | return __ndisc_opt_addr_space(dev->addr_len,
| ^~
./include/net/ndisc.h:314:64: error: invalid use of undefined type 'struct net_device'
314 | ndisc_addr_option_pad(dev->type)) +
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:318:19: error: invalid storage class for function 'ndisc_redirect_opt_addr_space'
318 | static inline int ndisc_redirect_opt_addr_space(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function 'ndisc_redirect_opt_addr_space':
./include/net/ndisc.h:323:42: error: invalid use of undefined type 'struct net_device'
323 | return __ndisc_opt_addr_space(dev->addr_len,
| ^~
./include/net/ndisc.h:324:64: error: invalid use of undefined type 'struct net_device'
324 | ndisc_addr_option_pad(dev->type)) +
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:330:19: error: invalid storage class for function '__ndisc_opt_addr_data'
330 | static inline u8 *__ndisc_opt_addr_data(struct nd_opt_hdr *p,
| ^~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:340:19: error: invalid storage class for function 'ndisc_opt_addr_data'
340 | static inline u8 *ndisc_opt_addr_data(struct nd_opt_hdr *p,
| ^~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function 'ndisc_opt_addr_data':
./include/net/ndisc.h:343:44: error: invalid use of undefined type 'struct net_device'
343 | return __ndisc_opt_addr_data(p, dev->addr_len,
| ^~
./include/net/ndisc.h:344:63: error: invalid use of undefined type 'struct net_device'
344 | ndisc_addr_option_pad(dev->type));
| ^~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:347:19: error: invalid storage class for function 'ndisc_hashfn'
347 | static inline u32 ndisc_hashfn(const void *pkey, const struct net_device *dev, __u32 *hash_rnd)
| ^~~~~~~~~~~~
./include/net/ndisc.h:357:33: error: invalid storage class for function '__ipv6_neigh_lookup_noref'
357 | static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function '__ipv6_neigh_lookup_noref':
./include/net/ndisc.h:359:64: error: passing argument 3 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
359 | return ___neigh_lookup_noref(&nd_tbl, neigh_key_eq128, ndisc_hashfn, pkey, dev);
| ^~~~~~~~~~~~
| |
| u32 (*)(const void *, const struct net_device *, __u32 *) {aka unsigned int (*)(const void *, const struct net_device *, unsigned int *)}
./include/net/neighbour.h:306:17: note: expected '__u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'} but argument is of type 'u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'}
306 | __u32 (*hash)(const void *pkey,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
307 | const struct net_device *dev,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308 | __u32 *hash_rnd),
| ~~~~~~~~~~~~~~~~
./include/net/ndisc.h:359:84: error: passing argument 5 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
359 | return ___neigh_lookup_noref(&nd_tbl, neigh_key_eq128, ndisc_hashfn, pkey, dev);
| ^~~
| |
| struct net_device *
./include/net/neighbour.h:310:28: note: expected 'struct net_device *' but argument is of type 'struct net_device *'
310 | struct net_device *dev)
| ~~~~~~~~~~~~~~~~~~~^~~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/ndisc.h:363:19: error: invalid storage class for function '__ipv6_neigh_lookup_noref_stub'
363 | struct neighbour *__ipv6_neigh_lookup_noref_stub(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h: In function '__ipv6_neigh_lookup_noref_stub':
./include/net/ndisc.h:367:38: error: passing argument 3 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
367 | ndisc_hashfn, pkey, dev);
| ^~~~~~~~~~~~
| |
| u32 (*)(const void *, const struct net_device *, __u32 *) {aka unsigned int (*)(const void *, const struct net_device *, unsigned int *)}
./include/net/neighbour.h:306:17: note: expected '__u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'} but argument is of type 'u32 (*)(const void *, const struct net_device *, __u32 *)' {aka 'unsigned int (*)(const void *, const struct net_device *, unsigned int *)'}
306 | __u32 (*hash)(const void *pkey,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
307 | const struct net_device *dev,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308 | __u32 *hash_rnd),
| ~~~~~~~~~~~~~~~~
./include/net/ndisc.h:367:58: error: passing argument 5 of '___neigh_lookup_noref' from incompatible pointer type [-Wincompatible-pointer-types]
367 | ndisc_hashfn, pkey, dev);
| ^~~
| |
| struct net_device *
./include/net/neighbour.h:310:28: note: expected 'struct net_device *' but argument is of type 'struct net_device *'
310 | struct net_device *dev)
| ~~~~~~~~~~~~~~~~~~~^~~
./include/net/ndisc.h: In function 'lockdep_nfct_expect_lock_not_held':
>> ./include/net/ndisc.h:370:33: error: invalid storage class for function '__ipv6_neigh_lookup'
370 | static inline struct neighbour *__ipv6_neigh_lookup(struct net_device *dev, const void *pkey)
| ^~~~~~~~~~~~~~~~~~~
>> ./include/net/ndisc.h:383:20: error: invalid storage class for function '__ipv6_confirm_neigh'
383 | static inline void __ipv6_confirm_neigh(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:394:20: error: invalid storage class for function '__ipv6_confirm_neigh_stub'
394 | static inline void __ipv6_confirm_neigh_stub(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/ndisc.h:406:33: error: invalid storage class for function 'ip_neigh_gw6'
406 | static inline struct neighbour *ip_neigh_gw6(struct net_device *dev,
| ^~~~~~~~~~~~
./include/net/ndisc.h: In function 'ip_neigh_gw6':
./include/net/ndisc.h:413:65: error: passing argument 3 of '__neigh_create' from incompatible pointer type [-Wincompatible-pointer-types]
413 | neigh = __neigh_create(ipv6_stub->nd_tbl, addr, dev, false);
| ^~~
| |
| struct net_device *
./include/net/neighbour.h:347:53: note: expected 'struct net_device *' but argument is of type 'struct net_device *'
347 | struct net_device *dev, bool want_ref);
| ~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h: In function 'lockdep_nfct_expect_lock_not_held':
./include/net/route.h:40:20: error: invalid storage class for function 'ip_sock_rt_scope'
40 | static inline __u8 ip_sock_rt_scope(const struct sock *sk)
| ^~~~~~~~~~~~~~~~
./include/net/route.h:48:20: error: invalid storage class for function 'ip_sock_rt_tos'
48 | static inline __u8 ip_sock_rt_tos(const struct sock *sk)
| ^~~~~~~~~~~~~~
./include/net/route.h:72:33: error: field 'rt_gw6' has incomplete type
72 | struct in6_addr rt_gw6;
| ^~~~~~
./include/net/route.h:86:30: error: invalid storage class for function 'skb_rtable'
86 | static inline struct rtable *skb_rtable(const struct sk_buff *skb)
| ^~~~~~~~~~
In file included from ./include/linux/kernel.h:22:
./include/net/route.h: In function 'skb_rtable':
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/container_of.h:36:18: note: in definition of macro 'container_of_const'
36 | _Generic(ptr, \
| ^~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
./include/linux/skbuff.h:1157:63: note: expected 'const struct sk_buff *' but argument is of type 'const struct sk_buff *'
1157 | static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
| ~~~~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/container_of.h:37:32: note: in definition of macro 'container_of_const'
37 | const typeof(*(ptr)) *: ((const type *)container_of(ptr, type, member)),\
| ^~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
./include/linux/skbuff.h:1157:63: note: expected 'const struct sk_buff *' but argument is of type 'const struct sk_buff *'
1157 | static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
| ~~~~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/container_of.h:20:33: note: in definition of macro 'container_of'
20 | void *__mptr = (void *)(ptr); \
| ^~~
./include/net/route.h:80:26: note: in expansion of macro 'container_of_const'
80 | #define dst_rtable(_ptr) container_of_const(_ptr, struct rtable, dst)
| ^~~~~~~~~~~~~~~~~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
./include/linux/skbuff.h:1157:63: note: expected 'const struct sk_buff *' but argument is of type 'const struct sk_buff *'
1157 | static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
| ~~~~~~~~~~~~~~~~~~~~~~^~~
./include/net/route.h:88:35: error: passing argument 1 of 'skb_dst' from incompatible pointer type [-Wincompatible-pointer-types]
88 | return dst_rtable(skb_dst(skb));
| ^~~
| |
| const struct sk_buff *
./include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
./include/linux/container_of.h:21:9: note: in expansion of macro 'static_assert'
21 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
./include/linux/container_of.h:21:23: note: in expansion of macro '__same_type'
21 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
./include/linux/container_of.h:37:56: note: in expansion of macro 'container_of'
37 | const typeof(*(ptr)) *: ((const type *)container_of(ptr, type, member)),\
| ^~~~~~~~~~~~
./include/net/route.h:80:26: note: in expansion of macro 'container_of_const'
80 | #define dst_rtable(_ptr) container_of_const(_ptr, struct rtable, dst)
| ^~~~~~~~~~~~~~~~~~
./include/net/route.h:88:16: note: in expansion of macro 'dst_rtable'
88 | return dst_rtable(skb_dst(skb));
| ^~~~~~~~~~
..
vim +/__ipv6_neigh_lookup +370 ./include/net/ndisc.h
71df5777aaaeff David Ahern 2019-04-05 369
ac3175fe7a5788 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 @370 static inline struct neighbour *__ipv6_neigh_lookup(struct net_device *dev, const void *pkey)
ac3175fe7a5788 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 371 {
ac3175fe7a5788 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 372 struct neighbour *n;
ac3175fe7a5788 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 373
09eed1192cec17 Eric Dumazet 2023-03-21 374 rcu_read_lock();
ac3175fe7a5788 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 375 n = __ipv6_neigh_lookup_noref(dev, pkey);
9f23743017d11c Reshetova, Elena 2017-06-30 376 if (n && !refcount_inc_not_zero(&n->refcnt))
ac3175fe7a5788 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 377 n = NULL;
09eed1192cec17 Eric Dumazet 2023-03-21 378 rcu_read_unlock();
f83c7790dc0025 David S. Miller 2011-12-28 379
f83c7790dc0025 David S. Miller 2011-12-28 380 return n;
f83c7790dc0025 David S. Miller 2011-12-28 381 }
f83c7790dc0025 David S. Miller 2011-12-28 382
63fca65d08632f Julian Anastasov 2017-02-06 @383 static inline void __ipv6_confirm_neigh(struct net_device *dev,
63fca65d08632f Julian Anastasov 2017-02-06 384 const void *pkey)
63fca65d08632f Julian Anastasov 2017-02-06 385 {
63fca65d08632f Julian Anastasov 2017-02-06 386 struct neighbour *n;
63fca65d08632f Julian Anastasov 2017-02-06 387
09eed1192cec17 Eric Dumazet 2023-03-21 388 rcu_read_lock();
63fca65d08632f Julian Anastasov 2017-02-06 389 n = __ipv6_neigh_lookup_noref(dev, pkey);
1e84dc6b7bbfc4 Yajun Deng 2021-11-23 390 neigh_confirm(n);
09eed1192cec17 Eric Dumazet 2023-03-21 391 rcu_read_unlock();
63fca65d08632f Julian Anastasov 2017-02-06 392 }
63fca65d08632f Julian Anastasov 2017-02-06 393
:::::: The code at line 370 was first introduced by commit
:::::: ac3175fe7a5788d40b067b76c27f2943cd0be2d7 ndisc: Introduce __ipv6_neigh_lookup_noref().
:::::: TO: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
:::::: CC: David S. Miller <davem@davemloft.net>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-03-20 20:19 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202603202130.LAQ967HZ-lkp@intel.com \
--to=lkp@intel.com \
--cc=coreteam@netfilter.org \
--cc=fw@strlen.de \
--cc=netfilter-devel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox