xref: /openbmc/linux/fs/ext2/xattr_trusted.c (revision 5930122683dff58f0846b0f0405b4bd598a3ba6a)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds  * linux/fs/ext2/xattr_trusted.c
31da177e4SLinus Torvalds  * Handler for trusted extended attributes.
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * Copyright (C) 2003 by Andreas Gruenbacher, <a.gruenbacher@computer.org>
61da177e4SLinus Torvalds  */
71da177e4SLinus Torvalds 
8f7699f2bSAl Viro #include "ext2.h"
91da177e4SLinus Torvalds #include "xattr.h"
101da177e4SLinus Torvalds 
11764a5c6bSAndreas Gruenbacher static bool
12764a5c6bSAndreas Gruenbacher ext2_xattr_trusted_list(struct dentry *dentry)
131da177e4SLinus Torvalds {
14764a5c6bSAndreas Gruenbacher 	return capable(CAP_SYS_ADMIN);
151da177e4SLinus Torvalds }
161da177e4SLinus Torvalds 
171da177e4SLinus Torvalds static int
18d9a82a04SAndreas Gruenbacher ext2_xattr_trusted_get(const struct xattr_handler *handler,
19b296821aSAl Viro 		       struct dentry *unused, struct inode *inode,
20b296821aSAl Viro 		       const char *name, void *buffer, size_t size)
211da177e4SLinus Torvalds {
22b296821aSAl Viro 	return ext2_xattr_get(inode, EXT2_XATTR_INDEX_TRUSTED, name,
231da177e4SLinus Torvalds 			      buffer, size);
241da177e4SLinus Torvalds }
251da177e4SLinus Torvalds 
261da177e4SLinus Torvalds static int
27d9a82a04SAndreas Gruenbacher ext2_xattr_trusted_set(const struct xattr_handler *handler,
28*59301226SAl Viro 		       struct dentry *unused, struct inode *inode,
29*59301226SAl Viro 		       const char *name, const void *value,
30*59301226SAl Viro 		       size_t size, int flags)
311da177e4SLinus Torvalds {
32*59301226SAl Viro 	return ext2_xattr_set(inode, EXT2_XATTR_INDEX_TRUSTED, name,
331da177e4SLinus Torvalds 			      value, size, flags);
341da177e4SLinus Torvalds }
351da177e4SLinus Torvalds 
36749c72efSStephen Hemminger const struct xattr_handler ext2_xattr_trusted_handler = {
371da177e4SLinus Torvalds 	.prefix	= XATTR_TRUSTED_PREFIX,
381da177e4SLinus Torvalds 	.list	= ext2_xattr_trusted_list,
391da177e4SLinus Torvalds 	.get	= ext2_xattr_trusted_get,
401da177e4SLinus Torvalds 	.set	= ext2_xattr_trusted_set,
411da177e4SLinus Torvalds };
42