Skip to content

Commit b9cb7e5

Browse files
cgzonesbrauner
authored andcommitted
pid: use ns_capable_noaudit() when determining net sysctl permissions
The capability check should not be audited since it is only being used to determine the inode permissions. A failed check does not indicate a violation of security policy but, when an LSM is enabled, a denial audit message was being generated. The denial audit message can either lead to the capability being unnecessarily allowed in a security policy, or being silenced potentially masking a legitimate capability check at a later point in time. Similar to commit d6169b0 ("net: Use ns_capable_noaudit() when determining net sysctl permissions") Fixes: 7863dcc ("pid: allow pid_max to be set per pid namespace") CC: Christian Brauner <brauner@kernel.org> CC: linux-security-module@vger.kernel.org CC: selinux@vger.kernel.org Signed-off-by: Christian Göttsche <cgzones@googlemail.com> Acked-by: Serge Hallyn <serge@hallyn.com> Reviewed-by: Paul Moore <paul@paul-moore.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent f99b391 commit b9cb7e5

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

kernel/pid.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ static int pid_table_root_permissions(struct ctl_table_header *head,
680680
container_of(head->set, struct pid_namespace, set);
681681
int mode = table->mode;
682682

683-
if (ns_capable(pidns->user_ns, CAP_SYS_ADMIN) ||
683+
if (ns_capable_noaudit(pidns->user_ns, CAP_SYS_ADMIN) ||
684684
uid_eq(current_euid(), make_kuid(pidns->user_ns, 0)))
685685
mode = (mode & S_IRWXU) >> 6;
686686
else if (in_egroup_p(make_kgid(pidns->user_ns, 0)))

0 commit comments

Comments
 (0)