Messages in this thread | | | Date | Wed, 23 Jan 2019 18:08:16 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH net-next 05/10] net: phy: introduce a phy_driver macsec helper |
| |
> +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
Hi Antoine
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.
Andrew
| |