diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-05-02 19:45:47 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-05-02 19:45:47 -0400 |
commit | 84695ffee7987ee1e581be4c4696e47e1a29403b (patch) | |
tree | 78ca09a96ecd6a6b5f4fae744c381968635af68d /fs/reiserfs/xattr_trusted.c | |
parent | bf16200689118d19de1b8d2a3c314fc21f5dc7bb (diff) | |
parent | ce23e640133484eebc20ca7b7668388213e11327 (diff) | |
download | lwn-84695ffee7987ee1e581be4c4696e47e1a29403b.tar.gz lwn-84695ffee7987ee1e581be4c4696e47e1a29403b.zip |
Merge getxattr prototype change into work.lookups
The rest of work.xattr stuff isn't needed for this branch
Diffstat (limited to 'fs/reiserfs/xattr_trusted.c')
-rw-r--r-- | fs/reiserfs/xattr_trusted.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/fs/reiserfs/xattr_trusted.c b/fs/reiserfs/xattr_trusted.c index 64b67aa643a9..31837f031f59 100644 --- a/fs/reiserfs/xattr_trusted.c +++ b/fs/reiserfs/xattr_trusted.c @@ -8,29 +8,26 @@ #include <linux/uaccess.h> static int -trusted_get(const struct xattr_handler *handler, struct dentry *dentry, - const char *name, void *buffer, size_t size) +trusted_get(const struct xattr_handler *handler, struct dentry *unused, + struct inode *inode, const char *name, void *buffer, size_t size) { - if (strlen(name) < sizeof(XATTR_TRUSTED_PREFIX)) - return -EINVAL; - - if (!capable(CAP_SYS_ADMIN) || IS_PRIVATE(d_inode(dentry))) + if (!capable(CAP_SYS_ADMIN) || IS_PRIVATE(inode)) return -EPERM; - return reiserfs_xattr_get(d_inode(dentry), name, buffer, size); + return reiserfs_xattr_get(inode, xattr_full_name(handler, name), + buffer, size); } static int trusted_set(const struct xattr_handler *handler, struct dentry *dentry, const char *name, const void *buffer, size_t size, int flags) { - if (strlen(name) < sizeof(XATTR_TRUSTED_PREFIX)) - return -EINVAL; - if (!capable(CAP_SYS_ADMIN) || IS_PRIVATE(d_inode(dentry))) return -EPERM; - return reiserfs_xattr_set(d_inode(dentry), name, buffer, size, flags); + return reiserfs_xattr_set(d_inode(dentry), + xattr_full_name(handler, name), + buffer, size, flags); } static bool trusted_list(struct dentry *dentry) |