summaryrefslogtreecommitdiffstats
path: root/security/commoncap.c
diff options
context:
space:
mode:
authorRichard Guy Briggs <rgb@redhat.com>2017-10-12 02:57:12 +0200
committerJames Morris <james.l.morris@oracle.com>2017-10-20 06:22:45 +0200
commitc0d1adefe0a3775cc16374dc9ebdfd8504afa14b (patch)
tree36d750f04d341a6e41f6eaccfe3307a29768cd81 /security/commoncap.c
parentcapabilities: remove a layer of conditional logic (diff)
downloadlinux-c0d1adefe0a3775cc16374dc9ebdfd8504afa14b.tar.xz
linux-c0d1adefe0a3775cc16374dc9ebdfd8504afa14b.zip
capabilities: invert logic for clarity
The way the logic was presented, it was awkward to read and verify. Invert the logic using DeMorgan's Law to be more easily able to read and understand. Signed-off-by: Richard Guy Briggs <rgb@redhat.com> Reviewed-by: Serge Hallyn <serge@hallyn.com> Acked-by: James Morris <james.l.morris@oracle.com> Acked-by: Kees Cook <keescook@chromium.org> Okay-ished-by: Paul Moore <paul@paul-moore.com> Signed-off-by: James Morris <james.l.morris@oracle.com>
Diffstat (limited to 'security/commoncap.c')
-rw-r--r--security/commoncap.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/security/commoncap.c b/security/commoncap.c
index eac70e2b400b..0bd94d36e635 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -782,10 +782,10 @@ static inline bool nonroot_raised_pE(struct cred *cred, kuid_t root)
bool ret = false;
if (__cap_grew(effective, ambient, cred) &&
- (!__cap_full(effective, cred) ||
- !__is_eff(root, cred) ||
- !__is_real(root, cred) ||
- !root_privileged()))
+ !(__cap_full(effective, cred) &&
+ __is_eff(root, cred) &&
+ __is_real(root, cred) &&
+ root_privileged()))
ret = true;
return ret;
}