Re: [PATCH 3/3] capabilities: add cap userns sysctl mask
Tycho Andersen <[email protected]> Mon, 20 May 2024 07:30:14 -0600
| Newsgroups | dev.linux.lists.containers,org.kernel.vger.keyrings,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-security-module |
|---|---|
| Message-ID | <[email protected]> |
Hi Jonathan,
On Thu, May 16, 2024 at 02:22:05AM -0700, Jonathan Calmels wrote:
> +int proc_cap_userns_handler(struct ctl_table *table, int write,
> + void *buffer, size_t *lenp, loff_t *ppos)
> +{
there is an ongoing effort (started at [0]) to constify the first arg
here, since you're not supposed to write to it. Your usage looks
correct to me, so I think all it needs is a literal "const" here.
[0]: https://lore.kernel.org/lkml/[email protected]/
> + struct ctl_table t;
> + unsigned long mask_array[2];
> + kernel_cap_t new_mask, *mask;
> + int err;
> +
> + if (write && (!capable(CAP_SETPCAP) ||
> + !capable(CAP_SYS_ADMIN)))
> + return -EPERM;
...why CAP_SYS_ADMIN? You mention it in the changelog, but don't
explain why.
Tycho