public inbox for netfilter-devel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox