security: Fix mode test in selinux_ptrace_access_check()
authorBen Hutchings <ben@decadent.org.uk>
Tue, 19 Dec 2017 23:35:38 +0000 (23:35 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 1 Jan 2018 20:51:04 +0000 (20:51 +0000)
Commit 1c8d42255f4c "ptrace: use fsuid, fsgid, effective creds for fs access
checks" added flags to the ptrace mode which need to be ignored here.

This change was made upstream in 3.3 as part of commit 69f594a38967
"ptrace: do not audit capability check when outputing /proc/pid/stat", but
that's probably not suitable for stable due to its dependencies.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
security/selinux/hooks.c

index 4c6a347..ad1cb35 100644 (file)
@@ -1845,7 +1845,7 @@ static int selinux_ptrace_access_check(struct task_struct *child,
        if (rc)
                return rc;
 
-       if (mode == PTRACE_MODE_READ) {
+       if (mode & PTRACE_MODE_READ) {
                u32 sid = current_sid();
                u32 csid = task_sid(child);
                return avc_has_perm(sid, csid, SECCLASS_FILE, FILE__READ, NULL);