浏览代码

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>
Eric W. Biederman 12 年之前
父节点
当前提交
160da84dbb
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      security/commoncap.c

+ 1 - 1
security/commoncap.c

@@ -824,7 +824,7 @@ int cap_task_setnice(struct task_struct *p, int nice)
  */
  */
 static long cap_prctl_drop(struct cred *new, unsigned long cap)
 static long cap_prctl_drop(struct cred *new, unsigned long cap)
 {
 {
-	if (!capable(CAP_SETPCAP))
+	if (!ns_capable(current_user_ns(), CAP_SETPCAP))
 		return -EPERM;
 		return -EPERM;
 	if (!cap_valid(cap))
 	if (!cap_valid(cap))
 		return -EINVAL;
 		return -EINVAL;