Re: [RFC][PATCH v4 15/69] new step_into() flag: WALK_NOFOLLOW
From: Linus Torvalds
Date: Fri Mar 13 2020 - 20:32:53 EST
I mentioned this last time (perhaps for a different sequence):
On Fri, Mar 13, 2020 at 4:54 PM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>
> if (likely(!d_is_symlink(path->dentry)) ||
> - !(flags & WALK_FOLLOW || nd->flags & LOOKUP_FOLLOW)) {
> + !(flags & WALK_FOLLOW || nd->flags & LOOKUP_FOLLOW) ||
> + flags & WALK_NOFOLLOW) {
Yes, I know that bitwise operations have higher precedence than the
logical ones. And I know & (and &&) have higher precedence than | (and
||).
But I have to _think_ about it every time I see code like this.
I'd really prefer to see
if ((a & BIT) || (b & ANOTHER_BIT))
over the "equivalent" and shorter
if (a & BIT || b & ANOTHER_BIT)
Please make it explicit. It wasn't before either, but it _could_ be.
Linus