xattr_trusted.c (1138B)
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * linux/fs/ext2/xattr_trusted.c 4 * Handler for trusted extended attributes. 5 * 6 * Copyright (C) 2003 by Andreas Gruenbacher, <a.gruenbacher@computer.org> 7 */ 8 9#include "ext2.h" 10#include "xattr.h" 11 12static bool 13ext2_xattr_trusted_list(struct dentry *dentry) 14{ 15 return capable(CAP_SYS_ADMIN); 16} 17 18static int 19ext2_xattr_trusted_get(const struct xattr_handler *handler, 20 struct dentry *unused, struct inode *inode, 21 const char *name, void *buffer, size_t size) 22{ 23 return ext2_xattr_get(inode, EXT2_XATTR_INDEX_TRUSTED, name, 24 buffer, size); 25} 26 27static int 28ext2_xattr_trusted_set(const struct xattr_handler *handler, 29 struct user_namespace *mnt_userns, 30 struct dentry *unused, struct inode *inode, 31 const char *name, const void *value, 32 size_t size, int flags) 33{ 34 return ext2_xattr_set(inode, EXT2_XATTR_INDEX_TRUSTED, name, 35 value, size, flags); 36} 37 38const struct xattr_handler ext2_xattr_trusted_handler = { 39 .prefix = XATTR_TRUSTED_PREFIX, 40 .list = ext2_xattr_trusted_list, 41 .get = ext2_xattr_trusted_get, 42 .set = ext2_xattr_trusted_set, 43};