All of lore.kernel.org
 help / color / mirror / Atom feed
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.