From: Leon Romanovsky <leonro@xxxxxxxxxx> The W=1 compilation of allmodconfig generates the following warning: net/ipv6/icmp.c:448:6: warning: no previous prototype for 'icmp6_send' [-Wmissing-prototypes] 448 | void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, | ^~~~~~~~~~ In such configuration, the icmp6_send() is not used outside of icmp.c, so close its EXPORT_SYMBOL and add "static" word to limit the scope. Fixes: cc7a21b6fbd9 ("ipv6: icmp6: avoid indirect call for icmpv6_send()") Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> --- net/ipv6/icmp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index f3d05866692e..5d4232b492dc 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c @@ -445,6 +445,9 @@ static int icmp6_iif(const struct sk_buff *skb) /* * Send an ICMP message in response to a packet in error */ +#if !IS_BUILTIN(CONFIG_IPV6) +static +#endif void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, const struct in6_addr *force_saddr) { @@ -634,7 +637,10 @@ void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, out_bh_enable: local_bh_enable(); } + +#if IS_BUILTIN(CONFIG_IPV6) EXPORT_SYMBOL(icmp6_send); +#endif /* Slightly more convenient version of icmp6_send. */ -- 2.29.2