On Tue, May 05, 2020 at 03:22:03PM +0200, Andrew Lunn wrote:
> > > +int ethnl_cable_test_fault_length(struct phy_device *phydev, u8 pair, 
> > > u32 cm)
> > > +{
> > > + struct nlattr *nest;
> > > + int ret = -EMSGSIZE;
> > > +
> > > + nest = nla_nest_start(phydev->skb,
> > > +                       ETHTOOL_A_CABLE_TEST_NTF_FAULT_LENGTH);
> > > + if (!nest)
> > > +         return -EMSGSIZE;
> > > +
> > > + if (nla_put_u8(phydev->skb, ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, pair))
> > > +         goto err;
> > > + if (nla_put_u16(phydev->skb, ETHTOOL_A_CABLE_FAULT_LENGTH_CM, cm))
> > > +         goto err;
> > 
> > This should be nla_put_u32().
> 
> Yes. I think i messed up a rebase merge conflict somewhere. I'm also
> surprised user space is not complaining.

There is no difference on little endian architectures as nla_put_*()
helpers all call __nla_reserve() which fills the padding with zero
bytes. IIRC there was a case where wrong attribute type had been used
for quite long without anyone noticing.

Michal

Reply via email to