git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
fs
/
ext2
/
xattr_user.c
diff --git
a/fs/ext2/xattr_user.c
b/fs/ext2/xattr_user.c
index
be15587
..
0c03ea1
100644
(file)
--- a/
fs/ext2/xattr_user.c
+++ b/
fs/ext2/xattr_user.c
@@
-14,20
+14,21
@@
#define XATTR_USER_PREFIX "user."
static size_t
#define XATTR_USER_PREFIX "user."
static size_t
-ext2_xattr_user_list(
char *list, struct inode *inod
e,
- const char *name,
in
t name_len)
+ext2_xattr_user_list(
struct inode *inode, char *list, size_t list_siz
e,
+ const char *name,
size_
t name_len)
{
{
- const int prefix_len = sizeof(XATTR_USER_PREFIX)-1;
+ const size_t prefix_len = sizeof(XATTR_USER_PREFIX)-1;
+ const size_t total_len = prefix_len + name_len + 1;
if (!test_opt(inode->i_sb, XATTR_USER))
return 0;
if (!test_opt(inode->i_sb, XATTR_USER))
return 0;
- if (list) {
+ if (list
&& total_len <= list_size
) {
memcpy(list, XATTR_USER_PREFIX, prefix_len);
memcpy(list+prefix_len, name, name_len);
list[prefix_len + name_len] = '\0';
}
memcpy(list, XATTR_USER_PREFIX, prefix_len);
memcpy(list+prefix_len, name, name_len);
list[prefix_len + name_len] = '\0';
}
- return
prefix_len + name_len + 1
;
+ return
total_len
;
}
static int
}
static int
@@
-68,23
+69,9
@@
ext2_xattr_user_set(struct inode *inode, const char *name,
value, size, flags);
}
value, size, flags);
}
-struct
ext2_
xattr_handler ext2_xattr_user_handler = {
+struct xattr_handler ext2_xattr_user_handler = {
.prefix = XATTR_USER_PREFIX,
.list = ext2_xattr_user_list,
.get = ext2_xattr_user_get,
.set = ext2_xattr_user_set,
};
.prefix = XATTR_USER_PREFIX,
.list = ext2_xattr_user_list,
.get = ext2_xattr_user_get,
.set = ext2_xattr_user_set,
};
-
-int __init
-init_ext2_xattr_user(void)
-{
- return ext2_xattr_register(EXT2_XATTR_INDEX_USER,
- &ext2_xattr_user_handler);
-}
-
-void
-exit_ext2_xattr_user(void)
-{
- ext2_xattr_unregister(EXT2_XATTR_INDEX_USER,
- &ext2_xattr_user_handler);
-}