All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wong Vee Khee <vee.khee.wong@linux.intel.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Vladimir Oltean <olteanv@gmail.com>, Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH net 1/1] net: dsa: sja1105: fix error handling on NULL returned by xpcs_create()
Date: Tue, 10 Aug 2021 16:33:12 +0800	[thread overview]
Message-ID: <20210810083312.GA30383@linux.intel.com> (raw)
In-Reply-To: <20210810082528.rff3aembgge62pd6@skbuf>

On Tue, Aug 10, 2021 at 08:25:29AM +0000, Vladimir Oltean wrote:
> Hi VK,
> 
> On Tue, Aug 10, 2021 at 02:35:13PM +0800, Wong Vee Khee wrote:
> > There is a possibility xpcs_create() returned a NULL and this is not
> > handled properly in the sja1105 driver.
> > 
> > Fixed this by using IS_ERR_ON_NULL() instead of IS_ERR().
> > 
> > Fixes: 3ad1d171548e ("net: dsa: sja1105: migrate to xpcs for SGMII")
> > Cc: Vladimir Olten <vladimir.oltean@nxp.com>
> > Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
> > ---
> >  drivers/net/dsa/sja1105/sja1105_mdio.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/dsa/sja1105/sja1105_mdio.c b/drivers/net/dsa/sja1105/sja1105_mdio.c
> > index 19aea8fb76f6..2c69a759ce6e 100644
> > --- a/drivers/net/dsa/sja1105/sja1105_mdio.c
> > +++ b/drivers/net/dsa/sja1105/sja1105_mdio.c
> > @@ -438,7 +438,7 @@ static int sja1105_mdiobus_pcs_register(struct sja1105_private *priv)
> >  		}
> >  
> >  		xpcs = xpcs_create(mdiodev, priv->phy_mode[port]);
> > -		if (IS_ERR(xpcs)) {
> > +		if (IS_ERR_OR_NULL(xpcs)) {
> >  			rc = PTR_ERR(xpcs);
> >  			goto out_pcs_free;
> >  		}
> > -- 
> > 2.25.1
> > 
> 
> I think posting to 'net' is a bit drastic for this patch. I agree it is
> an issue but it has bothered absolutely nobody so far, and if sending
> this patch to 'net' means you'll be blocked with your patches until the
> 'net'->'net-next' merge, I'm not sure it's worth it.
>

Sounds reasonable for me. I will marked V2 to target net-next.
 
> Anyway, I don't think that PTR_ERR(xpcs) does the right thing when
> IS_NULL(xpcs). So how about you make this change:
> 
> -----------------------------[ cut here ]-----------------------------
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> index a5d150c5f3d8..ca12bf986d4d 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> @@ -415,7 +415,7 @@ int stmmac_xpcs_setup(struct mii_bus *bus)
>  			continue;
>  
>  		xpcs = xpcs_create(mdiodev, mode);
> -		if (IS_ERR_OR_NULL(xpcs)) {
> +		if (IS_ERR(xpcs)) {
>  			mdio_device_free(mdiodev);
>  			continue;
>  		}
> diff --git a/drivers/net/pcs/pcs-xpcs.c b/drivers/net/pcs/pcs-xpcs.c
> index 63fda3fc40aa..4bd61339823c 100644
> --- a/drivers/net/pcs/pcs-xpcs.c
> +++ b/drivers/net/pcs/pcs-xpcs.c
> @@ -1089,7 +1089,7 @@ struct dw_xpcs *xpcs_create(struct mdio_device *mdiodev,
>  
>  	xpcs = kzalloc(sizeof(*xpcs), GFP_KERNEL);
>  	if (!xpcs)
> -		return NULL;
> +		return ERR_PTR(-ENOMEM);
>  
>  	xpcs->mdiodev = mdiodev;
>  
> -----------------------------[ cut here ]-----------------------------

      reply	other threads:[~2021-08-10  8:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10  6:35 [PATCH net 1/1] net: dsa: sja1105: fix error handling on NULL returned by xpcs_create() Wong Vee Khee
2021-08-10  8:25 ` Vladimir Oltean
2021-08-10  8:33   ` Wong Vee Khee [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=20210810083312.GA30383@linux.intel.com \
    --to=vee.khee.wong@linux.intel.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 \
    --cc=vladimir.oltean@nxp.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.