aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/perf/tests/openat-syscall-tp-fields.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/perf/tests/openat-syscall-tp-fields.c b/tools/perf/tests/openat-syscall-tp-fields.c
index 2a139d2781a8..5523cf4e9321 100644
--- a/tools/perf/tests/openat-syscall-tp-fields.c
+++ b/tools/perf/tests/openat-syscall-tp-fields.c
@@ -120,7 +120,10 @@ static int test__syscall_openat_tp_fields(struct test_suite *test __maybe_unused
tp_flags = evsel__intval(evsel, &sample, "flags");
perf_sample__exit(&sample);
- if (flags != tp_flags) {
+ /* C library wrapper may set additional flags,
+ access mode must be unchanged */
+ if ((tp_flags & O_ACCMODE) != (flags & O_ACCMODE) ||
+ (tp_flags & flags) != flags) {
pr_debug("%s: Expected flags=%#x, got %#x\n",
__func__, flags, tp_flags);
goto out_delete_evlist;