Re: [PATCH v3 1/8] capability: add any wrapper to test for multiple caps with exactly one audit message
From: Christian Göttsche <hidden>
Date: 2022-08-30 15:05:25
Also in:
lkml, selinux
On Mon, 27 Jun 2022 at 00:34, Serge E. Hallyn [off-list ref] wrote:
On Wed, Jun 15, 2022 at 05:26:23PM +0200, Christian Göttsche wrote:quoted
Add the interfaces `capable_any()` and `ns_capable_any()` as an alternative to multiple `capable()`/`ns_capable()` calls, like `capable_any(CAP_SYS_NICE, CAP_SYS_ADMIN)` instead of `capable(CAP_SYS_NICE) || capable(CAP_SYS_ADMIN)`. `capable_any()`/`ns_capable_any()` will in particular generate exactly one audit message, either for the left most capability in effect or, if the task has none, the first one. This is especially helpful with regard to SELinux, where each audit message about a not allowed capability will create an AVC denial. Using this function with the least invasive capability as left most argument (e.g. CAP_SYS_NICE before CAP_SYS_ADMIN) enables policy writers to only allow the least invasive one and SELinux domains pass this check with only capability:sys_nice or capability:sys_admin allowed without any AVC denial message. Signed-off-by: Christian Göttsche <redacted>Reviewed-by: Serge Hallyn <serge@hallyn.com>
Kindly ping. So far patch 3 was reviewed [1] and patch 4 was reviewed [2,3] and partially acked [4]. Currently this series trivially rebases on top of 6.0-rc1. Should I send a rebased v4 or what is the best way to move forward? [1]: https://lore.kernel.org/all/7fd6f544-0bd2-62fe-bddd-869364f351e8@acm.org/ (local) [2]: https://lore.kernel.org/all/Yqn+sCXTHeTH5v+R@pendragon.ideasonboard.com/ (local) [3]: https://lore.kernel.org/all/09374557-8c8d-1925-340c-784f29630ec5@kernel.org/ (local) [4]: https://lore.kernel.org/all/73a603a2-5e5e-1b45-8e19-ab0795027336@xs4all.nl/ (local)