Revision faa44e3d hw/9pfs/virtio-9p-xattr-user.c
b/hw/9pfs/virtio-9p-xattr-user.c | ||
---|---|---|
21 | 21 |
static ssize_t mp_user_getxattr(FsContext *ctx, const char *path, |
22 | 22 |
const char *name, void *value, size_t size) |
23 | 23 |
{ |
24 |
char buffer[PATH_MAX]; |
|
24 | 25 |
if (strncmp(name, "user.virtfs.", 12) == 0) { |
25 | 26 |
/* |
26 | 27 |
* Don't allow fetch of user.virtfs namesapce |
... | ... | |
29 | 30 |
errno = ENOATTR; |
30 | 31 |
return -1; |
31 | 32 |
} |
32 |
return lgetxattr(rpath(ctx, path), name, value, size); |
|
33 |
return lgetxattr(rpath(ctx, path, buffer), name, value, size);
|
|
33 | 34 |
} |
34 | 35 |
|
35 | 36 |
static ssize_t mp_user_listxattr(FsContext *ctx, const char *path, |
... | ... | |
67 | 68 |
static int mp_user_setxattr(FsContext *ctx, const char *path, const char *name, |
68 | 69 |
void *value, size_t size, int flags) |
69 | 70 |
{ |
71 |
char buffer[PATH_MAX]; |
|
70 | 72 |
if (strncmp(name, "user.virtfs.", 12) == 0) { |
71 | 73 |
/* |
72 | 74 |
* Don't allow fetch of user.virtfs namesapce |
... | ... | |
75 | 77 |
errno = EACCES; |
76 | 78 |
return -1; |
77 | 79 |
} |
78 |
return lsetxattr(rpath(ctx, path), name, value, size, flags); |
|
80 |
return lsetxattr(rpath(ctx, path, buffer), name, value, size, flags);
|
|
79 | 81 |
} |
80 | 82 |
|
81 | 83 |
static int mp_user_removexattr(FsContext *ctx, |
82 | 84 |
const char *path, const char *name) |
83 | 85 |
{ |
86 |
char buffer[PATH_MAX]; |
|
84 | 87 |
if (strncmp(name, "user.virtfs.", 12) == 0) { |
85 | 88 |
/* |
86 | 89 |
* Don't allow fetch of user.virtfs namesapce |
... | ... | |
89 | 92 |
errno = EACCES; |
90 | 93 |
return -1; |
91 | 94 |
} |
92 |
return lremovexattr(rpath(ctx, path), name); |
|
95 |
return lremovexattr(rpath(ctx, path, buffer), name);
|
|
93 | 96 |
} |
94 | 97 |
|
95 | 98 |
XattrOperations mapped_user_xattr = { |
Also available in: Unified diff