aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/proc_sysctl.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2007-02-14 00:34:16 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-14 08:10:00 -0800
commit86a71dbd3e81e8870d0f0e56b87875f57e58222b (patch)
tree71f5d47c38d0674b5037c435fb00adcb889ccad2 /fs/proc/proc_sysctl.c
parentbbaca6c2e7ef0f663bc31be4dad7cf530f6c4962 (diff)
downloadkernel_samsung_crespo-86a71dbd3e81e8870d0f0e56b87875f57e58222b.zip
kernel_samsung_crespo-86a71dbd3e81e8870d0f0e56b87875f57e58222b.tar.gz
kernel_samsung_crespo-86a71dbd3e81e8870d0f0e56b87875f57e58222b.tar.bz2
[PATCH] sysctl: hide the sysctl proc inodes from selinux
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>
Diffstat (limited to 'fs/proc/proc_sysctl.c')
-rw-r--r--fs/proc/proc_sysctl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index bb16a1e..20e8cbb 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -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;