X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=security%2Fcommoncap.c;h=12440ee03c31cce4a64c358273f2b19c966a9b6a;hp=ee4f8486e5f563dff63c13278a1258e43e2b7859;hb=ac3025e451b520e79e947e8aa0bbea1d9db543c7;hpb=97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d diff --git a/security/commoncap.c b/security/commoncap.c index ee4f8486e5f5..12440ee03c31 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -28,6 +28,7 @@ #include #include #include +#include /* * If a non-root user executes a setuid-root binary in @@ -514,6 +515,11 @@ int cap_bprm_set_creds(struct linux_binprm *bprm) } skip: + /* if we have fs caps, clear dangerous personality flags */ + if (!cap_issubset(new->cap_permitted, old->cap_permitted)) + bprm->per_clear |= PER_CLEAR_ON_SETID; + + /* Don't let someone trace a set[ug]id/setpcap binary with the revised * credentials unless they have the appropriate permit */