vfs: extend vfs_removexattr locking
This patch takes the i_mutex lock before security_inode_removexattr(),
instead of after, in preparation of calling ima_inode_removexattr().
Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
diff --git a/fs/xattr.c b/fs/xattr.c
index 4d45b71..107f457 100644
--- a/fs/xattr.c
+++ b/fs/xattr.c
@@ -295,11 +295,13 @@
if (error)
return error;
- error = security_inode_removexattr(dentry, name);
- if (error)
- return error;
-
mutex_lock(&inode->i_mutex);
+ error = security_inode_removexattr(dentry, name);
+ if (error) {
+ mutex_unlock(&inode->i_mutex);
+ return error;
+ }
+
error = inode->i_op->removexattr(dentry, name);
mutex_unlock(&inode->i_mutex);