VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
b24413180f560 (Greg Kroah-Hartman  2017-11-01 15:07:57 +0100  1) // SPDX-License-Identifier: GPL-2.0
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  2) /*
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  3)  * linux/fs/ext2/xattr_user.c
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  4)  * Handler for extended user attributes.
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  5)  *
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  6)  * Copyright (C) 2001 by Andreas Gruenbacher, <a.gruenbacher@computer.org>
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  7)  */
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  8) 
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  9) #include <linux/init.h>
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 10) #include <linux/string.h>
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 11) #include "ext2.h"
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 12) #include "xattr.h"
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 13) 
764a5c6b1fa43 (Andreas Gruenbacher 2015-12-02 14:44:43 +0100 14) static bool
764a5c6b1fa43 (Andreas Gruenbacher 2015-12-02 14:44:43 +0100 15) ext2_xattr_user_list(struct dentry *dentry)
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 16) {
764a5c6b1fa43 (Andreas Gruenbacher 2015-12-02 14:44:43 +0100 17) 	return test_opt(dentry->d_sb, XATTR_USER);
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 18) }
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 19) 
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 20) static int
d9a82a04033f8 (Andreas Gruenbacher 2015-10-04 19:18:51 +0200 21) ext2_xattr_user_get(const struct xattr_handler *handler,
b296821a7c42f (Al Viro             2016-04-10 20:48:24 -0400 22) 		    struct dentry *unused, struct inode *inode,
b296821a7c42f (Al Viro             2016-04-10 20:48:24 -0400 23) 		    const char *name, void *buffer, size_t size)
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 24) {
b296821a7c42f (Al Viro             2016-04-10 20:48:24 -0400 25) 	if (!test_opt(inode->i_sb, XATTR_USER))
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 26) 		return -EOPNOTSUPP;
b296821a7c42f (Al Viro             2016-04-10 20:48:24 -0400 27) 	return ext2_xattr_get(inode, EXT2_XATTR_INDEX_USER,
431547b3c4533 (Christoph Hellwig   2009-11-13 09:52:56 +0000 28) 			      name, buffer, size);
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 29) }
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 30) 
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 31) static int
d9a82a04033f8 (Andreas Gruenbacher 2015-10-04 19:18:51 +0200 32) ext2_xattr_user_set(const struct xattr_handler *handler,
e65ce2a50cf6a (Christian Brauner   2021-01-21 14:19:27 +0100 33) 		    struct user_namespace *mnt_userns,
5930122683dff (Al Viro             2016-05-27 10:19:30 -0400 34) 		    struct dentry *unused, struct inode *inode,
5930122683dff (Al Viro             2016-05-27 10:19:30 -0400 35) 		    const char *name, const void *value,
5930122683dff (Al Viro             2016-05-27 10:19:30 -0400 36) 		    size_t size, int flags)
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 37) {
5930122683dff (Al Viro             2016-05-27 10:19:30 -0400 38) 	if (!test_opt(inode->i_sb, XATTR_USER))
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 39) 		return -EOPNOTSUPP;
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 40) 
5930122683dff (Al Viro             2016-05-27 10:19:30 -0400 41) 	return ext2_xattr_set(inode, EXT2_XATTR_INDEX_USER,
431547b3c4533 (Christoph Hellwig   2009-11-13 09:52:56 +0000 42) 			      name, value, size, flags);
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 43) }
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 44) 
749c72efa4bd9 (Stephen Hemminger   2010-05-13 17:53:16 -0700 45) const struct xattr_handler ext2_xattr_user_handler = {
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 46) 	.prefix	= XATTR_USER_PREFIX,
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 47) 	.list	= ext2_xattr_user_list,
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 48) 	.get	= ext2_xattr_user_get,
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 49) 	.set	= ext2_xattr_user_set,
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 50) };