Re: [PATCH net 1/4] ipv6: silence compilation warning for non-IPV6 builds

Jakub Kicinski
2021-02-02T21:56:48Z

On Tue, 2 Feb 2021 20:55:28 +0200 Leon Romanovsky wrote:
> On Tue, Feb 02, 2021 at 08:29:09AM -0800, Jakub Kicinski wrote:
> > On Tue, 2 Feb 2021 15:55:41 +0200 Leon Romanovsky wrote:
> > > From: Leon Romanovsky <leonro@nvidia.com>
> > >
> > > 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@nvidia.com>
> >
> > That's a little much ifdefinery, why not move the declaration from
> > under the ifdef in the header instead?
>
> We will find ourselves with exported but not used function, it will
> increase symbol file, not big deal but not nice, either.

For those all so common builds where IPv6 is a module :)
But I don't feel strongly, up to you.

> > If you repost please target net-next, admittedly these fixes are pretty
> > "obviously correct" but they are not urgent either.
>
> I'll do.

Thanks!