Re: [PATCH net-next v6 5/7] net: ethtool: Add new power limit get and set features

From: Kory Maincent
Date: Mon Jul 08 2024 - 05:39:04 EST


On Fri, 5 Jul 2024 18:41:16 -0700
Jakub Kicinski <kuba@xxxxxxxxxx> wrote:

> On Thu, 04 Jul 2024 10:12:00 +0200 Kory Maincent wrote:
> > + if (tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL] ||
> > + tb[ETHTOOL_A_C33_PSE_ADMIN_CONTROL]) {
> > + struct pse_control_config config = {};
> > +
> > + if (pse_has_podl(phydev->psec))
> > + config.podl_admin_control =
> > nla_get_u32(tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL]);
> > + if (pse_has_c33(phydev->psec))
> > + config.c33_admin_control =
> > nla_get_u32(tb[ETHTOOL_A_C33_PSE_ADMIN_CONTROL]);
>
> This smells of null-deref if user only passes one of the attributes.
> But the fix should probably be in ethnl_set_pse_validate() so it won't
> conflict (I'm speculating that it will need to go to net).

Mmh, indeed if the netlink PSE type attribute is different with the supported
PSE type we might have an issue here.

I am wondering, if I fix it in net won't it conflict with net-next now that
this series is merged?

Regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com