root/fs/ext4/xattr_trusted.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ext4_xattr_trusted_list
  2. ext4_xattr_trusted_get
  3. ext4_xattr_trusted_set

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * linux/fs/ext4/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 <linux/string.h>
  10 #include <linux/capability.h>
  11 #include <linux/fs.h>
  12 #include "ext4_jbd2.h"
  13 #include "ext4.h"
  14 #include "xattr.h"
  15 
  16 static bool
  17 ext4_xattr_trusted_list(struct dentry *dentry)
  18 {
  19         return capable(CAP_SYS_ADMIN);
  20 }
  21 
  22 static int
  23 ext4_xattr_trusted_get(const struct xattr_handler *handler,
  24                        struct dentry *unused, struct inode *inode,
  25                        const char *name, void *buffer, size_t size)
  26 {
  27         return ext4_xattr_get(inode, EXT4_XATTR_INDEX_TRUSTED,
  28                               name, buffer, size);
  29 }
  30 
  31 static int
  32 ext4_xattr_trusted_set(const struct xattr_handler *handler,
  33                        struct dentry *unused, struct inode *inode,
  34                        const char *name, const void *value,
  35                        size_t size, int flags)
  36 {
  37         return ext4_xattr_set(inode, EXT4_XATTR_INDEX_TRUSTED,
  38                               name, value, size, flags);
  39 }
  40 
  41 const struct xattr_handler ext4_xattr_trusted_handler = {
  42         .prefix = XATTR_TRUSTED_PREFIX,
  43         .list   = ext4_xattr_trusted_list,
  44         .get    = ext4_xattr_trusted_get,
  45         .set    = ext4_xattr_trusted_set,
  46 };

/* [<][>][^][v][top][bottom][index][help] */