diff options
| -rw-r--r-- | fs/crypto/policy.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/crypto/policy.c b/fs/crypto/policy.c index ed115acb5dee..6865663aac69 100644 --- a/fs/crypto/policy.c +++ b/fs/crypto/policy.c @@ -109,6 +109,8 @@ int fscrypt_process_policy(struct file *filp,  	if (ret)  		return ret; +	inode_lock(inode); +  	if (!inode_has_encryption_context(inode)) {  		if (!S_ISDIR(inode->i_mode))  			ret = -EINVAL; @@ -127,6 +129,8 @@ int fscrypt_process_policy(struct file *filp,  		ret = -EINVAL;  	} +	inode_unlock(inode); +  	mnt_drop_write_file(filp);  	return ret;  }  | 

