Branch data Line data Source code
1 : : /*
2 : : * JFFS2 -- Journalling Flash File System, Version 2.
3 : : *
4 : : * Copyright © 2006 NEC Corporation
5 : : *
6 : : * Created by KaiGai Kohei <kaigai@ak.jp.nec.com>
7 : : *
8 : : * For licensing information, see the file 'LICENCE' in this directory.
9 : : *
10 : : */
11 : :
12 : : #include <linux/kernel.h>
13 : : #include <linux/fs.h>
14 : : #include <linux/jffs2.h>
15 : : #include <linux/xattr.h>
16 : : #include <linux/mtd/mtd.h>
17 : : #include "nodelist.h"
18 : :
19 : 0 : static int jffs2_trusted_getxattr(struct dentry *dentry, const char *name,
20 : : void *buffer, size_t size, int type)
21 : : {
22 [ # # ]: 0 : if (!strcmp(name, ""))
23 : : return -EINVAL;
24 : 0 : return do_jffs2_getxattr(dentry->d_inode, JFFS2_XPREFIX_TRUSTED,
25 : : name, buffer, size);
26 : : }
27 : :
28 : 0 : static int jffs2_trusted_setxattr(struct dentry *dentry, const char *name,
29 : : const void *buffer, size_t size, int flags, int type)
30 : : {
31 [ # # ]: 0 : if (!strcmp(name, ""))
32 : : return -EINVAL;
33 : 0 : return do_jffs2_setxattr(dentry->d_inode, JFFS2_XPREFIX_TRUSTED,
34 : : name, buffer, size, flags);
35 : : }
36 : :
37 : 0 : static size_t jffs2_trusted_listxattr(struct dentry *dentry, char *list,
38 : : size_t list_size, const char *name, size_t name_len, int type)
39 : : {
40 : 0 : size_t retlen = XATTR_TRUSTED_PREFIX_LEN + name_len + 1;
41 : :
42 [ # # ]: 0 : if (list && retlen<=list_size) {
43 : 0 : strcpy(list, XATTR_TRUSTED_PREFIX);
44 : 0 : strcpy(list + XATTR_TRUSTED_PREFIX_LEN, name);
45 : : }
46 : :
47 : 0 : return retlen;
48 : : }
49 : :
50 : : const struct xattr_handler jffs2_trusted_xattr_handler = {
51 : : .prefix = XATTR_TRUSTED_PREFIX,
52 : : .list = jffs2_trusted_listxattr,
53 : : .set = jffs2_trusted_setxattr,
54 : : .get = jffs2_trusted_getxattr
55 : : };
|