On Thu, 17 Apr 2025 14:43:49 +0200 Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx> wrote: > Hi Köry, > > On Wed, 16 Apr 2025 15:44:17 +0200 > Kory Maincent <kory.maincent@xxxxxxxxxxx> wrote: > > > From: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx> > > > > Add support for devm_pse_irq_helper() to register PSE interrupts and report > > events such as over-current or over-temperature conditions. This follows a > > similar approach to the regulator API but also sends notifications using a > > dedicated PSE ethtool netlink socket. > > > > Introduce an attached_phydev field in the pse_control structure to store > > the phydev attached to the PSE PI, ensuring that PSE ethtool notifications > > are sent to the correct network interface. > > > > The attached_phydev pointer is directly tied to the PHY lifecycle. It > > is set when the PHY is registered and cleared when the PHY is removed. > > There is no need to use a refcount, as doing so could interfere with > > the PHY removal process. > > > > Signed-off-by: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx> > > Reviewed-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > > --- > > [...] > > > +void ethnl_pse_send_ntf(struct phy_device *phydev, unsigned long notifs, > > + struct netlink_ext_ack *extack) > > +{ > > + struct net_device *netdev = phydev->attached_dev; > > + struct genl_info info; > > + void *reply_payload; > > + struct sk_buff *skb; > > + int reply_len; > > + int ret; > > + > > + if (!netdev || !notifs) > > + return; > > + > > + ethnl_info_init_ntf(&info, ETHTOOL_MSG_PSE_NTF); > > + info.extack = extack; > > + > > + reply_len = ethnl_reply_header_size() + > > + nla_total_size(sizeof(u32)); /* _PSE_NTF_EVENTS */ > > + > > + skb = genlmsg_new(reply_len, GFP_KERNEL); > > I think you need to check skb here before using it. Oh, thanks for spotting that! Regards, -- Köry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com