cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

xattr_user.c (1293B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * linux/fs/ext4/xattr_user.c
      4 * Handler for extended user attributes.
      5 *
      6 * Copyright (C) 2001 by Andreas Gruenbacher, <a.gruenbacher@computer.org>
      7 */
      8
      9#include <linux/string.h>
     10#include <linux/fs.h>
     11#include "ext4_jbd2.h"
     12#include "ext4.h"
     13#include "xattr.h"
     14
     15static bool
     16ext4_xattr_user_list(struct dentry *dentry)
     17{
     18	return test_opt(dentry->d_sb, XATTR_USER);
     19}
     20
     21static int
     22ext4_xattr_user_get(const struct xattr_handler *handler,
     23		    struct dentry *unused, struct inode *inode,
     24		    const char *name, void *buffer, size_t size)
     25{
     26	if (!test_opt(inode->i_sb, XATTR_USER))
     27		return -EOPNOTSUPP;
     28	return ext4_xattr_get(inode, EXT4_XATTR_INDEX_USER,
     29			      name, buffer, size);
     30}
     31
     32static int
     33ext4_xattr_user_set(const struct xattr_handler *handler,
     34		    struct user_namespace *mnt_userns,
     35		    struct dentry *unused, struct inode *inode,
     36		    const char *name, const void *value,
     37		    size_t size, int flags)
     38{
     39	if (!test_opt(inode->i_sb, XATTR_USER))
     40		return -EOPNOTSUPP;
     41	return ext4_xattr_set(inode, EXT4_XATTR_INDEX_USER,
     42			      name, value, size, flags);
     43}
     44
     45const struct xattr_handler ext4_xattr_user_handler = {
     46	.prefix	= XATTR_USER_PREFIX,
     47	.list	= ext4_xattr_user_list,
     48	.get	= ext4_xattr_user_get,
     49	.set	= ext4_xattr_user_set,
     50};