aboutsummaryrefslogtreecommitdiffstats
path: root/security/selinux/ss/services.c
diff options
context:
space:
mode:
authorStephen Smalley <sds@tycho.nsa.gov>2008-01-25 13:03:42 -0500
committerJames Morris <jmorris@namei.org>2008-01-25 20:16:16 -0500
commitb1aa5301b9f88a4891061650c591fb8fe1c1d1da (patch)
tree701ee5bf6cefbf7545c91ebab614fda7d6fd6a27 /security/selinux/ss/services.c
parent99f1c97dbdb30e958edfd1ced0ae43df62504e07 (diff)
selinux: fix labeling of /proc/net inodes
The proc net rewrite had a side effect on selinux, leading it to mislabel the /proc/net inodes, thereby leading to incorrect denials. Fix security_genfs_sid to ignore extra leading / characters in the path supplied by selinux_proc_get_sid since we now get "//net/..." rather than "/net/...". Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/selinux/ss/services.c')
-rw-r--r--security/selinux/ss/services.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index f83b19daed16..4bf715d4cf29 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -1744,6 +1744,9 @@ int security_genfs_sid(const char *fstype,
1744 struct ocontext *c; 1744 struct ocontext *c;
1745 int rc = 0, cmp = 0; 1745 int rc = 0, cmp = 0;
1746 1746
1747 while (path[0] == '/' && path[1] == '/')
1748 path++;
1749
1747 POLICY_RDLOCK; 1750 POLICY_RDLOCK;
1748 1751
1749 for (genfs = policydb.genfs; genfs; genfs = genfs->next) { 1752 for (genfs = policydb.genfs; genfs; genfs = genfs->next) {