From: Colin Ian King Date: Wed, 30 Oct 2024 18:25:47 +0000 (+0000) Subject: xattr: remove redundant check on variable err X-Git-Tag: v6.13-rc1~217^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=46a7fcec097da5b3188dce608362fe6bf4ea26ee;p=thirdparty%2Fkernel%2Flinux.git 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 Signed-off-by: Al Viro --- diff --git a/fs/xattr.c b/fs/xattr.c index deb336b821c92..02bee149ad967 100644 --- a/fs/xattr.c +++ b/fs/xattr.c @@ -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; ssize_t remaining_size = buffer_size; - int err = 0; for_each_xattr_handler(handlers, handler) { + int err; + if (!handler->name || (handler->list && !handler->list(dentry))) continue; 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 ? err : buffer_size - remaining_size; + return buffer_size - remaining_size; } EXPORT_SYMBOL(generic_listxattr);