Re: [PATCH v7 10/15] platform/x86: dell-smbios: add filtering capability for requests

From: Alan Cox
Date: Fri Oct 13 2017 - 15:46:54 EST


> I think I'd actually like to meld this with your other ideas and what I've
> currently got. What do you think of this approach:
>
> /* kernel community doesn't feel userspace should have access at all
> * or other kernel drivers use this
> */
> if (blacklisted)
> return NO;
>
> /* unprivileged access allowed */
> if (whitelisted & (capabilities && whitelist->capability_need) ==
> whitelist->capability_need))
> return ALLOWED;
>
> /* not yet in whitelist, or need privs to do */
> if (capable(CAP_SYS_RAWIO))
> return ALLOWED;
>
> return NO
>

This looks sensible to me. Note that the middle case isn't necessarily
'unprviliged'. If the entyr is whitelisted and the capability_need is 0
then it means 'anyone' but you can also set any other appropriate
capability (eg CAP_NET_ADMIN for a WMI call that does stuff to the wifi).

Alan