xattr: remove redundant check on variable err

Curretly in function generic_listxattr the for_each_xattr_handler loop
checks err and will return out of the function if err is non-zero.
It's impossible for err to be non-zero at the end of the function where
err is checked again for a non-zero value. The final non-zero check is
therefore redundant and can be removed. Also move the declaration of
err into the loop.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Colin Ian King 2024-10-30 18:25:47 +00:00 committed by Al Viro
parent 6140be90ec
commit 46a7fcec09

View File

@ -1142,9 +1142,10 @@ generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
{ {
const struct xattr_handler *handler, * const *handlers = dentry->d_sb->s_xattr; const struct xattr_handler *handler, * const *handlers = dentry->d_sb->s_xattr;
ssize_t remaining_size = buffer_size; ssize_t remaining_size = buffer_size;
int err = 0;
for_each_xattr_handler(handlers, handler) { for_each_xattr_handler(handlers, handler) {
int err;
if (!handler->name || (handler->list && !handler->list(dentry))) if (!handler->name || (handler->list && !handler->list(dentry)))
continue; continue;
err = xattr_list_one(&buffer, &remaining_size, handler->name); err = xattr_list_one(&buffer, &remaining_size, handler->name);
@ -1152,7 +1153,7 @@ generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
return err; return err;
} }
return err ? err : buffer_size - remaining_size; return buffer_size - remaining_size;
} }
EXPORT_SYMBOL(generic_listxattr); EXPORT_SYMBOL(generic_listxattr);