Re: [RFC PATCH net-next v3 05/21] ethtool: netlink bitset handling

From: Michal Kubecek
Date: Wed Feb 20 2019 - 03:16:35 EST


On Tue, Feb 19, 2019 at 06:27:59PM -0800, Jakub Kicinski wrote:
> On Mon, 18 Feb 2019 19:21:49 +0100 (CET), Michal Kubecek wrote:
> > + else if (is_u32)
> > + bitmap_from_arr32(val, bitmap, nbits);
> > + else
> > + bitmap_copy(val, bitmap, nbits);
> > + nla_for_each_nested(bit_attr, tb[ETHA_BITSET_BITS], rem) {
> > + *err = ethnl_update_bit(val, mask, nbits, bit_attr,
> > + is_list, names, legacy, info);
> > + if (*err < 0)
> > + goto out_free;
> > + }
> > + if (bitmask)
> > + __bitmap_to_any(bitmask, mask, nbits, is_u32);
> > + } else {
> > + unsigned int change_words = DIV_ROUND_UP(change_bits, 32);
> > +
> > + *err = 0;
> > + if (change_bits == 0 && tb[ETHA_BITSET_MASK])
> > + goto out_free;
> > + *err = -EINVAL;
> > + if (!tb[ETHA_BITSET_VALUE])
> > + goto out_free;
>
> !tb[ETHA_BITSET_BITS] && !tb[ETHA_BITSET_VALUE] is already rejected
> above.

Thank you. I'll drop this test.

Michal