|
@@ -295,11 +295,13 @@ vfs_removexattr(struct dentry *dentry, const char *name)
|
|
if (error)
|
|
if (error)
|
|
return error;
|
|
return error;
|
|
|
|
|
|
|
|
+ mutex_lock(&inode->i_mutex);
|
|
error = security_inode_removexattr(dentry, name);
|
|
error = security_inode_removexattr(dentry, name);
|
|
- if (error)
|
|
|
|
|
|
+ if (error) {
|
|
|
|
+ mutex_unlock(&inode->i_mutex);
|
|
return error;
|
|
return error;
|
|
|
|
+ }
|
|
|
|
|
|
- mutex_lock(&inode->i_mutex);
|
|
|
|
error = inode->i_op->removexattr(dentry, name);
|
|
error = inode->i_op->removexattr(dentry, name);
|
|
mutex_unlock(&inode->i_mutex);
|
|
mutex_unlock(&inode->i_mutex);
|
|
|
|
|