aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext2/xattr_user.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext2/xattr_user.c')
-rw-r--r--fs/ext2/xattr_user.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/fs/ext2/xattr_user.c b/fs/ext2/xattr_user.c
index 0c03ea131a94..f383e7c3a7b5 100644
--- a/fs/ext2/xattr_user.c
+++ b/fs/ext2/xattr_user.c
@@ -35,16 +35,10 @@ static int
35ext2_xattr_user_get(struct inode *inode, const char *name, 35ext2_xattr_user_get(struct inode *inode, const char *name,
36 void *buffer, size_t size) 36 void *buffer, size_t size)
37{ 37{
38 int error;
39
40 if (strcmp(name, "") == 0) 38 if (strcmp(name, "") == 0)
41 return -EINVAL; 39 return -EINVAL;
42 if (!test_opt(inode->i_sb, XATTR_USER)) 40 if (!test_opt(inode->i_sb, XATTR_USER))
43 return -EOPNOTSUPP; 41 return -EOPNOTSUPP;
44 error = permission(inode, MAY_READ, NULL);
45 if (error)
46 return error;
47
48 return ext2_xattr_get(inode, EXT2_XATTR_INDEX_USER, name, buffer, size); 42 return ext2_xattr_get(inode, EXT2_XATTR_INDEX_USER, name, buffer, size);
49} 43}
50 44
@@ -52,18 +46,10 @@ static int
52ext2_xattr_user_set(struct inode *inode, const char *name, 46ext2_xattr_user_set(struct inode *inode, const char *name,
53 const void *value, size_t size, int flags) 47 const void *value, size_t size, int flags)
54{ 48{
55 int error;
56
57 if (strcmp(name, "") == 0) 49 if (strcmp(name, "") == 0)
58 return -EINVAL; 50 return -EINVAL;
59 if (!test_opt(inode->i_sb, XATTR_USER)) 51 if (!test_opt(inode->i_sb, XATTR_USER))
60 return -EOPNOTSUPP; 52 return -EOPNOTSUPP;
61 if ( !S_ISREG(inode->i_mode) &&
62 (!S_ISDIR(inode->i_mode) || inode->i_mode & S_ISVTX))
63 return -EPERM;
64 error = permission(inode, MAY_WRITE, NULL);
65 if (error)
66 return error;
67 53
68 return ext2_xattr_set(inode, EXT2_XATTR_INDEX_USER, name, 54 return ext2_xattr_set(inode, EXT2_XATTR_INDEX_USER, name,
69 value, size, flags); 55 value, size, flags);