All of lore.kernel.org
 help / color / mirror / Atom feed
* [netfilter-nf:testing 7/9] ./include/net/ndisc.h:370:33: error: invalid storage class for function '__ipv6_neigh_lookup'
@ 2026-03-20 20:19 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-03-20 20:19 UTC (permalink / raw)
  To: Pablo Neira Ayuso
  Cc: oe-kbuild-all, netfilter-devel, coreteam, Florian Westphal

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-03-20 20:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-20 20:19 [netfilter-nf:testing 7/9] ./include/net/ndisc.h:370:33: error: invalid storage class for function '__ipv6_neigh_lookup' kernel test robot

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.