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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.