Message ID | 20210409174836.23694-1-andriy.tkachuk@seagate.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xattr: simplify logic at xattr_resolve_name() | expand |
diff --git a/fs/xattr.c b/fs/xattr.c index b3444e06cd..531562535d 100644 --- a/fs/xattr.c +++ b/fs/xattr.c @@ -66,13 +66,13 @@ xattr_resolve_name(struct inode *inode, const char **name) n = strcmp_prefix(*name, xattr_prefix(handler)); if (n) { - if (!handler->prefix ^ !*n) { - if (*n) - continue; - return ERR_PTR(-EINVAL); + if (!handler->prefix == !*n) { + *name = n; + return handler; } - *name = n; - return handler; + if (*n) + continue; + return ERR_PTR(-EINVAL); } } return ERR_PTR(-EOPNOTSUPP);
The negative case check logic with XOR operation between the two variables with negated values is really hard to comprehend. Change it to positive case check with == instead of XOR. Signed-off-by: Andriy Tkachuk <andriy.tkachuk@seagate.com> --- fs/xattr.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)