OSDN Git Service

capabilities: invert logic for clarity
authorRichard Guy Briggs <rgb@redhat.com>
Thu, 12 Oct 2017 00:57:12 +0000 (20:57 -0400)
committerJames Morris <james.l.morris@oracle.com>
Fri, 20 Oct 2017 04:22:45 +0000 (15:22 +1100)
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>
security/commoncap.c

index eac70e2..0bd94d3 100644 (file)
@@ -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;
 }