All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marek Behún" <kabel@kernel.org>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Andrew Lunn <andrew@lunn.ch>, Ameer Hamza <amhamza.mgc@gmail.com>,
	vivien.didelot@gmail.com, f.fainelli@gmail.com,
	olteanv@gmail.com, davem@davemloft.net, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] net: dsa: mv88e6xxx: initialize return variable on declaration
Date: Tue, 7 Dec 2021 14:06:47 +0100	[thread overview]
Message-ID: <20211207140647.6926a3e7@thinkpad> (raw)
In-Reply-To: <20211206162510.35b85e74@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>

On Mon, 6 Dec 2021 16:25:10 -0800
Jakub Kicinski <kuba@kernel.org> wrote:

> On Mon, 6 Dec 2021 23:29:53 +0100 Marek Behún wrote:
> > On Mon, 6 Dec 2021 14:21:03 +0100
> > Andrew Lunn <andrew@lunn.ch> wrote:
> >   
> > > On Mon, Dec 06, 2021 at 04:32:19PM +0500, Ameer Hamza wrote:    
> > > > Uninitialized err variable defined in mv88e6393x_serdes_power
> > > > function may cause undefined behaviour if it is called from
> > > > mv88e6xxx_serdes_power_down context.
> > > > 
> > > > Addresses-Coverity: 1494644 ("Uninitialized scalar variable")
> > > > 
> > > > Signed-off-by: Ameer Hamza <amhamza.mgc@gmail.com>
> > > > ---
> > > >  drivers/net/dsa/mv88e6xxx/serdes.c | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/net/dsa/mv88e6xxx/serdes.c b/drivers/net/dsa/mv88e6xxx/serdes.c
> > > > index 55273013bfb5..33727439724a 100644
> > > > --- a/drivers/net/dsa/mv88e6xxx/serdes.c
> > > > +++ b/drivers/net/dsa/mv88e6xxx/serdes.c
> > > > @@ -1507,7 +1507,7 @@ int mv88e6393x_serdes_power(struct mv88e6xxx_chip *chip, int port, int lane,
> > > >  			    bool on)
> > > >  {
> > > >  	u8 cmode = chip->ports[port].cmode;
> > > > -	int err;
> > > > +	int err = 0;
> > > >  
> > > >  	if (port != 0 && port != 9 && port != 10)
> > > >  		return -EOPNOTSUPP;      
> > > 
> > > Hi Marek
> > > 
> > > This warning likely comes from cmode not being a SERDES mode, and that
> > > is not handles in the switch statementing. Do we want an
> > > 
> > > default:
> > > 	err = EINVAL;
> > > 
> > > ?  
> > 
> > currently all the .serdes_power() methods return 0 for non-serdes ports.
> > This is because the way it is written, these methods are not called if
> > there is not a serdes lane for a given port.
> > 
> > For this issue with err variable undefined, to fix it we should simply
> > set int err=0 at the beginning of mv88e6393x_serdes_power(), to make it
> > behave like other serdes_power() methods do in serdes.c.  
> 
> Any objections to using a default case in the switch statement, tho?
> I agree with Andrew that default statement would make the reasoning
> clearer than just setting the variable at the start of the function.

No objection, just that it should be done for all the serdes_power()
methods in serdes.c.

Marek

  reply	other threads:[~2021-12-07 13:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-06 11:32 [PATCH] net: dsa: mv88e6xxx: initialize return variable on declaration Ameer Hamza
2021-12-06 13:21 ` Andrew Lunn
2021-12-06 22:29   ` Marek Behún
2021-12-07  0:25     ` Jakub Kicinski
2021-12-07 13:06       ` Marek Behún [this message]
2021-12-08 14:04         ` [PATCH v2] net: dsa: mv88e6xxx: error handling for serdes_power functions Ameer Hamza
2021-12-08 14:09           ` Ameer Hamza
2021-12-08 15:04             ` Jakub Kicinski
2021-12-08 15:40           ` Marek Behún
2021-12-08 15:58             ` [PATCH v3] " Ameer Hamza
2021-12-08 16:18               ` Marek Behún
2021-12-09  1:28               ` Jakub Kicinski
2021-12-09  4:06                 ` Ameer Hamza
2021-12-09  4:07         ` [PATCH v4] " Ameer Hamza
2021-12-09  4:15           ` Ameer Hamza
2021-12-09 15:50             ` patchwork-bot+netdevbpf

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=20211207140647.6926a3e7@thinkpad \
    --to=kabel@kernel.org \
    --cc=amhamza.mgc@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=vivien.didelot@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.