xattr: fix uninitialized out-param
`removed_sized` isn't correctly initialized (as the doc comment
suggests) on memory allocation failures. Fix by moving initialization up
a bit.
Fixes: 0c47383ba3
("kernfs: Add option to enable user xattrs")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
d8ef4b38cb
commit
772b314066
@ -876,6 +876,9 @@ int simple_xattr_set(struct simple_xattrs *xattrs, const char *name,
|
|||||||
struct simple_xattr *new_xattr = NULL;
|
struct simple_xattr *new_xattr = NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
if (removed_size)
|
||||||
|
*removed_size = -1;
|
||||||
|
|
||||||
/* value == NULL means remove */
|
/* value == NULL means remove */
|
||||||
if (value) {
|
if (value) {
|
||||||
new_xattr = simple_xattr_alloc(value, size);
|
new_xattr = simple_xattr_alloc(value, size);
|
||||||
@ -914,9 +917,6 @@ int simple_xattr_set(struct simple_xattrs *xattrs, const char *name,
|
|||||||
list_add(&new_xattr->list, &xattrs->head);
|
list_add(&new_xattr->list, &xattrs->head);
|
||||||
xattr = NULL;
|
xattr = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (removed_size)
|
|
||||||
*removed_size = -1;
|
|
||||||
out:
|
out:
|
||||||
spin_unlock(&xattrs->lock);
|
spin_unlock(&xattrs->lock);
|
||||||
if (xattr) {
|
if (xattr) {
|
||||||
|
Loading…
Reference in New Issue
Block a user