All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Davide Caratti <dcaratti@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Jamal Hadi Salim <jhs@mojatatu.com>,
	Cong Wang <xiyou.wangcong@gmail.com>,
	Jiri Pirko <jiri@resnulli.us>,
	Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH net] net: sched: fix initialiser warning in sch_frag.c
Date: Mon, 20 Sep 2021 13:49:23 +0100	[thread overview]
Message-ID: <YUiDU9mT71M8r7E6@shell.armlinux.org.uk> (raw)
In-Reply-To: <YUhPpaas69u4vZdp@dcaratti.users.ipa.redhat.com>

On Mon, Sep 20, 2021 at 11:08:53AM +0200, Davide Caratti wrote:
> On Sun, Sep 19, 2021 at 11:40:33PM +0100, Russell King (Oracle) wrote:
> > Debian gcc 10.2.1 complains thusly:
> > 
> > net/sched/sch_frag.c:93:10: warning: missing braces around initializer [-Wmissing-braces]
> >    struct rtable sch_frag_rt = { 0 };
> >           ^
> > net/sched/sch_frag.c:93:10: warning: (near initialization for 'sch_frag_rt.dst') [-Wmissing-braces]
> > 
> > Fix it by removing the unnecessary '0' initialiser, leaving the
> > braces.
> 
> hello Russell, thanks a lot for reporting!
>  
> > diff --git a/net/sched/sch_frag.c b/net/sched/sch_frag.c
> > index 8c06381391d6..ab359d63287c 100644
> > --- a/net/sched/sch_frag.c
> > +++ b/net/sched/sch_frag.c
> > @@ -90,7 +90,7 @@ static int sch_fragment(struct net *net, struct sk_buff *skb,
> >  	}
> >  
> >  	if (skb_protocol(skb, true) == htons(ETH_P_IP)) {
> > -		struct rtable sch_frag_rt = { 0 };
> > +		struct rtable sch_frag_rt = { };
> 
> this surely fixes the -Wmissing-braces, but then -Wpedantic
> would complain about usage of GNU extension (I just tried on godbolt
> with x86_64 gcc 11.2):
> 
> warning: ISO C forbids empty initializer braces [-Wpedantic]
> 
> While we are fixing this, probably the best thing is to initialize the
> 'dst' struct member  to 0: in my understanding this should be sufficient
> to let the compiler fill all the struct members with 0.
> 
> Oh, and I might have inserted a similar thing in openvswitch kernel
> module (see [1]), if you agree I will send a patch that fixes this as
> well. WDYT?

ISO C may forbid it, but the kernel build uses -std=gnu89 - which is
c89 with GNU extensions. One of the GNU extensions is to allow the
empty initialiser, which means "initialise all members of this struct
to zero".

However, as I say, this was found using gcc 4.9.4 under 5.14, where
4.9.4 is a permissable compiler. However, under 5.15-rc it is no
longer so the patch should not be applied to development kernels.
It leaves the question open whether it should be fixed in stable or
not, since stable kernels _do_ permit gcc 4.9.4.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

      reply	other threads:[~2021-09-20 12:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-19 22:40 [PATCH net] net: sched: fix initialiser warning in sch_frag.c Russell King (Oracle)
2021-09-19 22:49 ` Russell King (Oracle)
2021-09-20  9:08 ` Davide Caratti
2021-09-20 12:49   ` Russell King (Oracle) [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YUiDU9mT71M8r7E6@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=davem@davemloft.net \
    --cc=dcaratti@redhat.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=kuba@kernel.org \
    --cc=marcelo.leitner@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.