mbox series

[net,0/4] Fix W=1 compilation warnings in net/* folder

Message ID 20210202135544.3262383-1-leon@kernel.org
Headers show
Series Fix W=1 compilation warnings in net/* folder | expand

Message

Leon Romanovsky Feb. 2, 2021, 1:55 p.m. UTC
From: Leon Romanovsky <leonro@nvidia.com>

Hi,

This short series fixes W=1 compilation warnings which I experienced
when tried to compile net/* folder.

Thanks

Leon Romanovsky (4):
  ipv6: silence compilation warning for non-IPV6 builds
  ipv6: move udp declarations to net/udp.h
  net/core: move ipv6 gro function declarations to net/ipv6
  netfilter: move handlers to net/ip_vs.h

 include/net/ip_vs.h             | 11 +++++++++++
 include/net/ipv6.h              |  3 +++
 include/net/udp.h               |  3 +++
 net/core/dev.c                  |  4 +---
 net/ipv6/icmp.c                 |  6 ++++++
 net/ipv6/ip6_input.c            |  3 +--
 net/netfilter/ipvs/ip_vs_core.c | 12 ------------
 7 files changed, 25 insertions(+), 17 deletions(-)

--
2.29.2

Comments

Eric Dumazet Feb. 2, 2021, 2:34 p.m. UTC | #1
On Tue, Feb 2, 2021 at 2:55 PM Leon Romanovsky <leon@kernel.org> wrote:
>
> From: Leon Romanovsky <leonro@nvidia.com>
>
> Hi,
>
> This short series fixes W=1 compilation warnings which I experienced
> when tried to compile net/* folder.
>

Ok, but we never had a strong requirement about W=1, so adding Fixes:
tag is adding
unnecessary burden to stable teams all around the world.
Leon Romanovsky Feb. 2, 2021, 3:54 p.m. UTC | #2
On Tue, Feb 02, 2021 at 03:59:38PM +0100, Eric Dumazet wrote:
> On Tue, Feb 2, 2021 at 3:57 PM Leon Romanovsky <leon@kernel.org> wrote:
> >
> > On Tue, Feb 02, 2021 at 03:34:37PM +0100, Eric Dumazet wrote:
> > > On Tue, Feb 2, 2021 at 2:55 PM Leon Romanovsky <leon@kernel.org> wrote:
> > > >
> > > > From: Leon Romanovsky <leonro@nvidia.com>
> > > >
> > > > Hi,
> > > >
> > > > This short series fixes W=1 compilation warnings which I experienced
> > > > when tried to compile net/* folder.
> > > >
> > >
> > > Ok, but we never had a strong requirement about W=1, so adding Fixes:
> > > tag is adding
> >
> > I added because Jakub has checker that looks for Fixes lines in "net"
> > patches.
>
> Send this to net-next

No problem.

>
> As I stated, we never enforce W=1 compilation rule.
>
> I understand we might want that for _future_ kernels.
>
> >
> > > unnecessary burden to stable teams all around the world.
> >
> > It is automatic.
>
> I do receive a copy of all backports in my mailbox, whenever I am tagged.
>
> I can tell you there is a lot of pollution.

I'm receiving them either.

>
> >
> > Thanks
Jakub Kicinski Feb. 2, 2021, 4:29 p.m. UTC | #3
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?

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

> 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
>
Leon Romanovsky Feb. 2, 2021, 6:55 p.m. UTC | #4
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.

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

I'll do.

Thanks