diff options
author | Stephen Smalley <sds@tycho.nsa.gov> | 2008-01-25 13:03:42 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-08 11:46:28 -0800 |
commit | 9a87ea3ee51fb81e7a33b820a8bb59d23c7be9ef (patch) | |
tree | 463b3329ffb1ad9627e1d4cacd503e158fdef427 | |
parent | 3ecd7e88c999f6c73694c30359c4d084c5ab90be (diff) |
selinux: fix labeling of /proc/net inodes
patch b1aa5301b9f88a4891061650c591fb8fe1c1d1da in mainline.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | security/selinux/ss/services.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index f83b19daed1..4bf715d4cf2 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c @@ -1744,6 +1744,9 @@ int security_genfs_sid(const char *fstype, struct ocontext *c; int rc = 0, cmp = 0; + while (path[0] == '/' && path[1] == '/') + path++; + POLICY_RDLOCK; for (genfs = policydb.genfs; genfs; genfs = genfs->next) { |