fs_bench expects openat() to be denied when Landlock is enabled, but only treats a returned FD of 0 as success. Any other valid FD falls through to the errno check, which then reports a stale errno value.
Check for any non-negative FD instead. Assisted-by: LLM Signed-off-by: Günther Noack <[email protected]> --- tools/testing/selftests/landlock/fs_bench.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/landlock/fs_bench.c b/tools/testing/selftests/landlock/fs_bench.c index d13a88dcd1ed..78d1efcb2d20 100644 --- a/tools/testing/selftests/landlock/fs_bench.c +++ b/tools/testing/selftests/landlock/fs_bench.c @@ -189,7 +189,7 @@ int main(int argc, char *argv[]) fd = openat(curr, "file.txt", O_CREAT | O_TRUNC | O_WRONLY, 0600); if (use_landlock) { - if (fd == 0) + if (fd >= 0) errx(1, "openat succeeded, expected EACCES"); if (errno != EACCES) err(1, "openat expected EACCES, but got"); -- 2.56.0

