Re: [PATCH net-next v8 02/13] net: pse-pd: Add support for reporting events

From: Kory Maincent
Date: Thu Apr 17 2025 - 08:52:22 EST


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