]> git.ipfire.org Git - people/ms/linux.git/commit - fs/posix_acl.c
vfs: clean up posix_acl_permission() logic aroudn MAY_NOT_BLOCK
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 7 Jun 2020 19:19:06 +0000 (12:19 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 8 Jun 2020 18:04:19 +0000 (11:04 -0700)
commit63d72b93f2262900c8de74ad0f5a58e0d452c9d3
tree6e609594f18a8b9962e1833d2be684445521aba1
parent5fc475b749c72e0b3f3991b33a90d302f52ae746
vfs: clean up posix_acl_permission() logic aroudn MAY_NOT_BLOCK

posix_acl_permission() does not care about MAY_NOT_BLOCK, and in fact
the permission logic internally must not check that bit (it's only for
upper layers to decide whether they can block to do IO to look up the
acl information or not).

But the way the code was written, it _looked_ like it cared, since the
function explicitly did not mask that bit off.

But it has exactly two callers: one for when that bit is set, which
first clears the bit before calling posix_acl_permission(), and the
other call site when that bit was clear.

So stop the silly games "saving" the MAY_NOT_BLOCK bit that must not be
used for the actual permission test, and that currently is pointlessly
cleared by the callers when the function itself should just not care.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/namei.c
fs/posix_acl.c