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_hurd.c (1358B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * linux/fs/ext4/xattr_hurd.c
      4 * Handler for extended gnu attributes for the Hurd.
      5 *
      6 * Copyright (C) 2001 by Andreas Gruenbacher, <a.gruenbacher@computer.org>
      7 * Copyright (C) 2020 by Jan (janneke) Nieuwenhuizen, <janneke@gnu.org>
      8 */
      9
     10#include <linux/init.h>
     11#include <linux/string.h>
     12#include "ext4.h"
     13#include "xattr.h"
     14
     15static bool
     16ext4_xattr_hurd_list(struct dentry *dentry)
     17{
     18	return test_opt(dentry->d_sb, XATTR_USER);
     19}
     20
     21static int
     22ext4_xattr_hurd_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
     29	return ext4_xattr_get(inode, EXT4_XATTR_INDEX_HURD,
     30			      name, buffer, size);
     31}
     32
     33static int
     34ext4_xattr_hurd_set(const struct xattr_handler *handler,
     35		    struct user_namespace *mnt_userns,
     36		    struct dentry *unused, struct inode *inode,
     37		    const char *name, const void *value,
     38		    size_t size, int flags)
     39{
     40	if (!test_opt(inode->i_sb, XATTR_USER))
     41		return -EOPNOTSUPP;
     42
     43	return ext4_xattr_set(inode, EXT4_XATTR_INDEX_HURD,
     44			      name, value, size, flags);
     45}
     46
     47const struct xattr_handler ext4_xattr_hurd_handler = {
     48	.prefix	= XATTR_HURD_PREFIX,
     49	.list	= ext4_xattr_hurd_list,
     50	.get	= ext4_xattr_hurd_get,
     51	.set	= ext4_xattr_hurd_set,
     52};