Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2...
[linux-2.6-block.git] / fs / ext2 / xattr_trusted.c
CommitLineData
1da177e4
LT
1/*
2 * linux/fs/ext2/xattr_trusted.c
3 * Handler for trusted extended attributes.
4 *
5 * Copyright (C) 2003 by Andreas Gruenbacher, <a.gruenbacher@computer.org>
6 */
7
f7699f2b 8#include "ext2.h"
1da177e4
LT
9#include "xattr.h"
10
764a5c6b
AG
11static bool
12ext2_xattr_trusted_list(struct dentry *dentry)
1da177e4 13{
764a5c6b 14 return capable(CAP_SYS_ADMIN);
1da177e4
LT
15}
16
17static int
d9a82a04
AG
18ext2_xattr_trusted_get(const struct xattr_handler *handler,
19 struct dentry *dentry, const char *name,
20 void *buffer, size_t size)
1da177e4 21{
2b0143b5 22 return ext2_xattr_get(d_inode(dentry), EXT2_XATTR_INDEX_TRUSTED, name,
1da177e4
LT
23 buffer, size);
24}
25
26static int
d9a82a04
AG
27ext2_xattr_trusted_set(const struct xattr_handler *handler,
28 struct dentry *dentry, const char *name,
29 const void *value, size_t size, int flags)
1da177e4 30{
2b0143b5 31 return ext2_xattr_set(d_inode(dentry), EXT2_XATTR_INDEX_TRUSTED, name,
1da177e4
LT
32 value, size, flags);
33}
34
749c72ef 35const struct xattr_handler ext2_xattr_trusted_handler = {
1da177e4
LT
36 .prefix = XATTR_TRUSTED_PREFIX,
37 .list = ext2_xattr_trusted_list,
38 .get = ext2_xattr_trusted_get,
39 .set = ext2_xattr_trusted_set,
40};