[PATCH] xattr: simplify logic at xattr_resolve_name()

From: Andriy Tkachuk
Date: Fri Apr 09 2021 - 13:49:38 EST


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@xxxxxxxxxxx>
---
fs/xattr.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

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);
--
2.27.0