Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* [mda-next:icssg-dev 1/8] include/linux/if_hsr.h:54:46: warning: declaration of 'struct sk_buff' will not be visible outside of this function
@ 2026-05-03 15:55 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-03 15:55 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior; +Cc: llvm, oe-kbuild-all, MD Danish Anwar

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mda/linux-next.git icssg-dev
head:   a5d36e904451db02a17787219fd06b6d2ba16f1b
commit: 756ed4bc4a527cdddc3f9f09240637ceb3408645 [1/8] hsr: Allow to send a specific port and with HSR header
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20260503/202605032345.yoOw2A1g-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260503/202605032345.yoOw2A1g-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/202605032345.yoOw2A1g-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from net/dsa/dsa.c:12:
>> include/linux/if_hsr.h:54:46: warning: declaration of 'struct sk_buff' will not be visible outside of this function [-Wvisibility]
      54 | static inline bool hsr_skb_has_header(struct sk_buff *skb)
         |                                              ^
   include/linux/if_hsr.h:58:12: error: call to undeclared function 'skb_ext_find'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      58 |         ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
         |                   ^
   include/linux/if_hsr.h:58:30: error: use of undeclared identifier 'SKB_EXT_HSR'
      58 |         ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
         |                                     ^
   include/linux/if_hsr.h:64:52: warning: declaration of 'struct sk_buff' will not be visible outside of this function [-Wvisibility]
      64 | static inline unsigned int hsr_skb_has_port(struct sk_buff *skb)
         |                                                    ^
   include/linux/if_hsr.h:71:12: error: call to undeclared function 'skb_ext_find'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      71 |         ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
         |                   ^
   include/linux/if_hsr.h:71:30: error: use of undeclared identifier 'SKB_EXT_HSR'
      71 |         ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
         |                                     ^
   include/linux/if_hsr.h:77:51: warning: declaration of 'struct sk_buff' will not be visible outside of this function [-Wvisibility]
      77 | static inline bool hsr_skb_get_header_port(struct sk_buff *skb, bool *header,
         |                                                   ^
   include/linux/if_hsr.h:85:12: error: call to undeclared function 'skb_ext_find'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      85 |         ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
         |                   ^
   include/linux/if_hsr.h:85:30: error: use of undeclared identifier 'SKB_EXT_HSR'
      85 |         ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
         |                                     ^
   include/linux/if_hsr.h:94:51: warning: declaration of 'struct sk_buff' will not be visible outside of this function [-Wvisibility]
      94 | static inline bool hsr_skb_add_header_port(struct sk_buff *skb, bool header,
         |                                                   ^
   include/linux/if_hsr.h:99:12: error: call to undeclared function 'skb_ext_add'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      99 |         ptp_ext = skb_ext_add(skb, SKB_EXT_HSR);
         |                   ^
   include/linux/if_hsr.h:99:29: error: use of undeclared identifier 'SKB_EXT_HSR'
      99 |         ptp_ext = skb_ext_add(skb, SKB_EXT_HSR);
         |                                    ^
   In file included from net/dsa/dsa.c:15:
   In file included from include/linux/netdevice.h:38:
   In file included from include/net/net_namespace.h:44:
   include/linux/skbuff.h:5060:7: error: conflicting types for 'skb_ext_add'
    5060 | void *skb_ext_add(struct sk_buff *skb, enum skb_ext_id id);
         |       ^
   include/linux/if_hsr.h:99:12: note: previous implicit declaration is here
      99 |         ptp_ext = skb_ext_add(skb, SKB_EXT_HSR);
         |                   ^
   In file included from net/dsa/dsa.c:15:
   In file included from include/linux/netdevice.h:38:
   In file included from include/net/net_namespace.h:44:
   include/linux/skbuff.h:5105:21: error: conflicting types for 'skb_ext_find'
    5105 | static inline void *skb_ext_find(const struct sk_buff *skb, enum skb_ext_id id)
         |                     ^
   include/linux/if_hsr.h:58:12: note: previous implicit declaration is here
      58 |         ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
         |                   ^
   In file included from net/dsa/dsa.c:15:
   In file included from include/linux/netdevice.h:44:
   In file included from include/uapi/linux/neighbour.h:6:
   In file included from include/linux/netlink.h:9:
   In file included from include/net/scm.h:13:
   In file included from include/net/compat.h:8:
   include/linux/compat.h:454:22: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
     454 |         case 4: v.sig[7] = (set->sig[3] >> 32); v.sig[6] = set->sig[3];
         |                             ^        ~
   arch/s390/include/asm/signal.h:22:9: note: array 'sig' declared here
      22 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from net/dsa/dsa.c:15:
   In file included from include/linux/netdevice.h:44:
   In file included from include/uapi/linux/neighbour.h:6:
   In file included from include/linux/netlink.h:9:
   In file included from include/net/scm.h:13:
   In file included from include/net/compat.h:8:
   include/linux/compat.h:454:10: warning: array index 7 is past the end of the array (that has type 'compat_sigset_word[2]' (aka 'unsigned int[2]')) [-Warray-bounds]
     454 |         case 4: v.sig[7] = (set->sig[3] >> 32); v.sig[6] = set->sig[3];
         |                 ^     ~
   include/linux/compat.h:130:2: note: array 'sig' declared here
     130 |         compat_sigset_word      sig[_COMPAT_NSIG_WORDS];
         |         ^
   include/linux/compat.h:454:42: warning: array index 6 is past the end of the array (that has type 'compat_sigset_word[2]' (aka 'unsigned int[2]')) [-Warray-bounds]
     454 |         case 4: v.sig[7] = (set->sig[3] >> 32); v.sig[6] = set->sig[3];
         |                                                 ^     ~
   include/linux/compat.h:130:2: note: array 'sig' declared here
     130 |         compat_sigset_word      sig[_COMPAT_NSIG_WORDS];
         |         ^
   include/linux/compat.h:454:53: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
     454 |         case 4: v.sig[7] = (set->sig[3] >> 32); v.sig[6] = set->sig[3];
         |                                                            ^        ~
   arch/s390/include/asm/signal.h:22:9: note: array 'sig' declared here
      22 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from net/dsa/dsa.c:15:
   In file included from include/linux/netdevice.h:44:
   In file included from include/uapi/linux/neighbour.h:6:
   In file included from include/linux/netlink.h:9:
   In file included from include/net/scm.h:13:
   In file included from include/net/compat.h:8:
   include/linux/compat.h:456:22: warning: array index 2 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
     456 |         case 3: v.sig[5] = (set->sig[2] >> 32); v.sig[4] = set->sig[2];
         |                             ^        ~
   arch/s390/include/asm/signal.h:22:9: note: array 'sig' declared here
      22 |         unsigned long sig[_NSIG_WORDS];


vim +54 include/linux/if_hsr.h

    45	
    46	#if IS_ENABLED(CONFIG_HSR)
    47	extern bool is_hsr_master(struct net_device *dev);
    48	extern int hsr_get_version(struct net_device *dev, enum hsr_version *ver);
    49	struct net_device *hsr_get_port_ndev(struct net_device *ndev,
    50					     enum hsr_port_type pt);
    51	int hsr_get_port_type(struct net_device *hsr_dev, struct net_device *dev,
    52			      enum hsr_port_type *type);
    53	
  > 54	static inline bool hsr_skb_has_header(struct sk_buff *skb)
    55	{
    56		struct hsr_ptp_ext *ptp_ext;
    57	
    58		ptp_ext = skb_ext_find(skb, SKB_EXT_HSR);
    59		if (!ptp_ext)
    60			return false;
    61		return ptp_ext->header;
    62	}
    63	

-- 
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-05-03 15:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-03 15:55 [mda-next:icssg-dev 1/8] include/linux/if_hsr.h:54:46: warning: declaration of 'struct sk_buff' will not be visible outside of this function kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox