netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: "Alvaro G. M" <alvaro.gamez@hazent.com>
Cc: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>,
	"David S. Miller" <davem@davemloft.net>,
	Michal Simek <michal.simek@xilinx.com>,
	Russell King <linux@armlinux.org.uk>,
	netdev@vger.kernel.org, kernel-janitors@vger.kernel.org,
	Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH net] net: axienet: fix a signedness bug in probe
Date: Thu, 26 Sep 2019 16:18:11 +0300	[thread overview]
Message-ID: <20190926131811.GG29696@kadam> (raw)
In-Reply-To: <20190925110542.GA21923@salem.gmr.ssr.upm.es>

On Wed, Sep 25, 2019 at 01:05:43PM +0200, Alvaro G. M wrote:
> Hi, Dan
> 
> On Wed, Sep 25, 2019 at 01:59:11PM +0300, Dan Carpenter wrote:
> > The "lp->phy_mode" is an enum but in this context GCC treats it as an
> > unsigned int so the error handling is never triggered.
> > 
> >  		lp->phy_mode = of_get_phy_mode(pdev->dev.of_node);
> > -		if (lp->phy_mode < 0) {
> > +		if ((int)lp->phy_mode < 0) {
> 
> This (almost) exact code appears in a lot of different drivers too,
> so maybe it'd be nice to review them all and apply the same cast if needed?
> 

This is a new warning in Smatch.  I did send patches for the whole
kernel.  We won't get these bugs in the future because people run Smatch
on the kernel and will find the bugs.  All the bugs were from 2017 or
later which suggests that someone cleared these out two years ago but
soon the 0-day bot will warn about issues so they will get fixed
quicker.

I'm sort of out of it today...

The get_phy_mode() function seem like they lend themselves to creating
these bugs.  The ->phy_mode variables tend to be declared in the driver
so it would require quite a few patches to make them all int and I'm not
sure that's more beautiful.  Andrew Lunn's idea to update the API would
probably be a good idea.

I'm going back to bed for now and I'll think about this some more.

regards,
dan carpenter

  parent reply	other threads:[~2019-09-26 13:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-25 10:59 [PATCH net] net: axienet: fix a signedness bug in probe Dan Carpenter
2019-09-25 11:05 ` Alvaro G. M
2019-09-25 11:35   ` David Miller
2019-09-25 12:14     ` Andrew Lunn
2019-09-26 13:18   ` Dan Carpenter [this message]
2019-09-26 13:24     ` Andrew Lunn
2019-09-25 12:01 ` Radhey Shyam Pandey
2019-09-27  8:17 ` David Miller

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=20190926131811.GG29696@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=alvaro.gamez@hazent.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=michal.simek@xilinx.com \
    --cc=netdev@vger.kernel.org \
    --cc=radhey.shyam.pandey@xilinx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).