[PATCH] sysctl: hide the sysctl proc inodes from selinux
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 14 Feb 2007 08:34:16 +0000 (00:34 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 14 Feb 2007 16:10:00 +0000 (08:10 -0800)
Since the security checks are applied on each read and write of a sysctl file,
just like they are applied when calling sys_sysctl, they are redundant on the
standard VFS constructs.  Since it is difficult to compute the security labels
on the standard VFS constructs we just mark the sysctl inodes in proc private
so selinux won't even bother with them.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/proc_sysctl.c

index bb16a1e78826f8c86b66ea4add2c3b1c128e9883..20e8cbb34364e0b18106c690c65d91962c5d76c1 100644 (file)
@@ -47,6 +47,7 @@ static struct inode *proc_sys_make_inode(struct inode *dir, struct ctl_table *ta
        inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
        inode->i_op = &proc_sys_inode_operations;
        inode->i_fop = &proc_sys_file_operations;
+       inode->i_flags |= S_PRIVATE; /* tell selinux to ignore this inode */
        proc_sys_refresh_inode(inode, table);
 out:
        return inode;