Messages in this thread | | | Date | Mon, 5 Dec 2022 09:28:51 +0000 | From | "Russell King (Oracle)" <> | Subject | Re: [PATCH v2 net-next 1/4] net/ethtool: add netlink interface for the PLCA RS |
| |
On Mon, Dec 05, 2022 at 02:41:35AM +0100, Piergiorgio Beruto wrote: > +int ethnl_set_plca_cfg(struct sk_buff *skb, struct genl_info *info) > +{ > + struct ethnl_req_info req_info = {}; > + struct nlattr **tb = info->attrs; > + const struct ethtool_phy_ops *ops; > + struct phy_plca_cfg plca_cfg; > + struct net_device *dev; > + > + bool mod = false; > + int ret; > + > + ret = ethnl_parse_header_dev_get(&req_info, > + tb[ETHTOOL_A_PLCA_HEADER], > + genl_info_net(info), info->extack, > + true); > + if (ret < 0) > + return ret; > + > + dev = req_info.dev; > + > + // check that the PHY device is available and connected > + if (!dev->phydev) { > + ret = -EOPNOTSUPP; > + goto out; > + }
This check should really be done under the RTNL lock. phydevs can come and go with SFP cages.
> + > + rtnl_lock();
-- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
| |