diff options
| author | Eric Paris <eparis@redhat.com> | 2010-07-23 11:44:09 -0400 | 
|---|---|---|
| committer | James Morris <jmorris@namei.org> | 2010-08-02 15:35:08 +1000 | 
| commit | 49b7b8de46d293113a0a0bb026ff7bd833c73367 (patch) | |
| tree | ff29778c49a8ac1511249cc268ddbb2c6ddb86a9 /security/selinux/hooks.c | |
| parent | b782e0a68d17894d9a618ffea55b33639faa6bb4 (diff) | |
| download | olio-linux-3.10-49b7b8de46d293113a0a0bb026ff7bd833c73367.tar.xz olio-linux-3.10-49b7b8de46d293113a0a0bb026ff7bd833c73367.zip  | |
selinux: place open in the common file perms
kernel can dynamically remap perms.  Drop the open lookup table and put open
in the common file perms.
Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by:  Stephen D. Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/selinux/hooks.c')
| -rw-r--r-- | security/selinux/hooks.c | 24 | 
1 files changed, 3 insertions, 21 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 650947a72a2..9b40f4c0ac7 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -1776,27 +1776,9 @@ static inline u32 open_file_to_av(struct file *file)  {  	u32 av = file_to_av(file); -	if (selinux_policycap_openperm) { -		mode_t mode = file->f_path.dentry->d_inode->i_mode; -		/* -		 * lnk files and socks do not really have an 'open' -		 */ -		if (S_ISREG(mode)) -			av |= FILE__OPEN; -		else if (S_ISCHR(mode)) -			av |= CHR_FILE__OPEN; -		else if (S_ISBLK(mode)) -			av |= BLK_FILE__OPEN; -		else if (S_ISFIFO(mode)) -			av |= FIFO_FILE__OPEN; -		else if (S_ISDIR(mode)) -			av |= DIR__OPEN; -		else if (S_ISSOCK(mode)) -			av |= SOCK_FILE__OPEN; -		else -			printk(KERN_ERR "SELinux: WARNING: inside %s with " -				"unknown mode:%o\n", __func__, mode); -	} +	if (selinux_policycap_openperm) +		av |= FILE__OPEN; +  	return av;  }  |