[PATCH 05/27] selftests/landlock: Fix the openat() success check in fs_bench
From: Günther Noack
Date: Thu Oct 08 2026 - 10:28:14 EST
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 <gnoack3000@xxxxxxxxx>
---
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