aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2011-06-14 11:48:33 -0700
committerColin Cross <ccross@android.com>2011-06-14 11:48:33 -0700
commit9bb71b69d988cd7def734f0c4b1cdaaa27be16f7 (patch)
tree04bb70c657a01bef17d1f7d86f6e39f8e21b2fed /security
parentc086adace33b592fa8924e84a4f6d4e5bbe0b176 (diff)
parentd38c274febe1291ecce80b081ca7ecaa5db89719 (diff)
downloadkernel_samsung_tuna-9bb71b69d988cd7def734f0c4b1cdaaa27be16f7.zip
kernel_samsung_tuna-9bb71b69d988cd7def734f0c4b1cdaaa27be16f7.tar.gz
kernel_samsung_tuna-9bb71b69d988cd7def734f0c4b1cdaaa27be16f7.tar.bz2
Merge branch 'android-3.0' into android-omap-3.0
Conflicts: Documentation/cpu-freq/governors.txt drivers/cpufreq/Kconfig drivers/cpufreq/Makefile include/linux/cpufreq.h Change-Id: I3df552521b721b7590883071633873caba33cffd
Diffstat (limited to 'security')
-rw-r--r--security/commoncap.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/security/commoncap.c b/security/commoncap.c
index a93b3b7..1322b6a 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -29,6 +29,10 @@
#include <linux/securebits.h>
#include <linux/user_namespace.h>
+#ifdef CONFIG_ANDROID_PARANOID_NETWORK
+#include <linux/android_aid.h>
+#endif
+
/*
* If a non-root user executes a setuid-root binary in
* !secure(SECURE_NOROOT) mode, then we raise capabilities.
@@ -83,6 +87,11 @@ EXPORT_SYMBOL(cap_netlink_recv);
int cap_capable(struct task_struct *tsk, const struct cred *cred,
struct user_namespace *targ_ns, int cap, int audit)
{
+ if (cap == CAP_NET_RAW && in_egroup_p(AID_NET_RAW))
+ return 0;
+ if (cap == CAP_NET_ADMIN && in_egroup_p(AID_NET_ADMIN))
+ return 0;
+
for (;;) {
/* The creator of the user namespace has all caps. */
if (targ_ns != &init_user_ns && targ_ns->creator == cred->user)