Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

userns: Allow PR_CAPBSET_DROP in a user namespace.

As the capabilites and capability bounding set are per user namespace
properties it is safe to allow changing them with just CAP_SETPCAP
permission in the user namespace.

Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Tested-by: Richard Weinberger <richard@nod.at>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>

+1 -1
+1 -1
security/commoncap.c
··· 824 824 */ 825 825 static long cap_prctl_drop(struct cred *new, unsigned long cap) 826 826 { 827 - if (!capable(CAP_SETPCAP)) 827 + if (!ns_capable(current_user_ns(), CAP_SETPCAP)) 828 828 return -EPERM; 829 829 if (!cap_valid(cap)) 830 830 return -EINVAL;