Subject: Re: [PATCH net-next 05/10] net: phy: introduce a phy_driver macsec helper

From: Antoine Tenart <[email-masked]>
Date: Thu, 24 Jan 2019 09:56:28 +0100

Hi Andrew,

On Wed, Jan 23, 2019 at 06:08:16PM +0100, Andrew Lunn wrote:
> > +int phy_macsec(struct phy_device *phydev, struct netdev_macsec *macsec)
> > +{
> > +	int ret = -EOPNOTSUPP;
> > +
> > +	if (!phydev->drv)
> > +		return -EIO;
> > +
> > +	mutex_lock(&phydev->lock);
> > +
> > +	if (phydev->drv->macsec)
> > +		ret = phydev->drv->macsec(phydev, macsec);
> > +
> > +	mutex_unlock(&phydev->lock);
> > +	return ret;
> > +}
> > +EXPORT_SYMBOL_GPL(phy_macsec);
> > +
> 
> > @@ -630,6 +634,10 @@ struct phy_driver {
> >  			    struct ethtool_tunable *tuna,
> >  			    const void *data);
> >  	int (*set_loopback)(struct phy_device *dev, bool enable);
> > +
> > +#ifdef CONFIG_MACSEC
> > +	int (*macsec)(struct phy_device *dev, struct netdev_macsec *macsec);
> > +#endif
> 
> 
> So the member only exists if CONFIG_MACSEC is defined. So i think you
> need similar protection in phy_macsec() or you are going to try to
> access a member which sometimes does not exist.

Right, I'll fix that and protect the phy_macsec definition within an
'#ifdef CONFIG_MACSEC'.

Thanks!
Antoine

-- 
Antoine Ténart, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com