Subject: Re: [PATCH net-next 03/14] net: rtnetlink: RTM_GETSTATS: Allow filtering inside nests

From: Petr Machata <[email-masked]>
Date: Fri, 25 Feb 2022 17:57:20 +0100

Jakub Kicinski <[email-masked]> writes:

> On Fri, 25 Feb 2022 09:22:19 +0100 Petr Machata wrote:
>> > Why use bitfield if we only use the .value, a u32 would do?  
>> 
>> The bitfield validates the mask as well, thereby making sure that
>> userspace and the kernel are in sync WRT which bits are meaningful.
>> 
>> Specifically in case of filtering, all meaningful bits are always going
>> to be the set ones. So it should be OK to just handroll the check that
>> value doesn't include any bits that we don't know about, and we don't
>> really need the mask.
>
> Nothing that NLA_POLICY_MASK() can't do, right?

I see, so no need to even handroll.

> Or do you mean that we can when user space requests _not_ to have a
> group reported?

Can't parse this, but I do not think unset bit X will mean anything else
than "do not include X+1 in the response".

>> So I can redo this as u32 if you prefer.
>
> I think that'd be better, simplest tool for the job.

NP.