diff options
author | Colin Cross <ccross@android.com> | 2012-04-27 14:03:45 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2012-04-27 14:03:45 -0700 |
commit | 957265bd4fe182af757886f117416d66f68854aa (patch) | |
tree | 177cee182ea61611f0b80db704203bf72ee4f3cb /security/commoncap.c | |
parent | 60c98d9abbd1ff3274b904027690f3c33d656250 (diff) | |
parent | 66f75a5d028beaf67c931435fdc3e7823125730c (diff) |
Merge commit 'v3.4-rc4' into android-3.4
Diffstat (limited to 'security/commoncap.c')
-rw-r--r-- | security/commoncap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/security/commoncap.c b/security/commoncap.c index 5cbb55ec6e4..897af00e477 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -29,6 +29,7 @@ #include <linux/securebits.h> #include <linux/user_namespace.h> #include <linux/binfmts.h> +#include <linux/personality.h> #ifdef CONFIG_ANDROID_PARANOID_NETWORK #include <linux/android_aid.h> @@ -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 */ |