diff options
Diffstat (limited to 'security/smack/smack_lsm.c')
| -rw-r--r-- | security/smack/smack_lsm.c | 14 | 
1 files changed, 4 insertions, 10 deletions
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index 38be92ce901..fa64740abb5 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c @@ -456,7 +456,7 @@ static int smack_sb_umount(struct vfsmount *mnt, int flags)   */  static int smack_bprm_set_creds(struct linux_binprm *bprm)  { -	struct inode *inode = bprm->file->f_path.dentry->d_inode; +	struct inode *inode = file_inode(bprm->file);  	struct task_smack *bsp = bprm->cred->security;  	struct inode_smack *isp;  	int rc; @@ -1187,21 +1187,15 @@ static int smack_mmap_file(struct file *file,  	char *msmack;  	char *osmack;  	struct inode_smack *isp; -	struct dentry *dp;  	int may;  	int mmay;  	int tmay;  	int rc; -	if (file == NULL || file->f_dentry == NULL) -		return 0; - -	dp = file->f_dentry; - -	if (dp->d_inode == NULL) +	if (file == NULL)  		return 0; -	isp = dp->d_inode->i_security; +	isp = file_inode(file)->i_security;  	if (isp->smk_mmap == NULL)  		return 0;  	msmack = isp->smk_mmap; @@ -1359,7 +1353,7 @@ static int smack_file_receive(struct file *file)   */  static int smack_file_open(struct file *file, const struct cred *cred)  { -	struct inode_smack *isp = file->f_path.dentry->d_inode->i_security; +	struct inode_smack *isp = file_inode(file)->i_security;  	file->f_security = isp->smk_inode;  |