[LTP] [PATCH] tst_fd: Use raw syscall for fanotify_init

Edward Liaw edliaw@google.com
Fri Feb 23 01:05:43 CET 2024


Some systems do not provide sys/fanotify.h, such as Android.  We can use
the raw syscall for open_fanotify to avoid importing the header file.

Suggested-by: Cyril Hrubis <chrubis@suse.cz>
Signed-off-by: Edward Liaw <edliaw@google.com>
---
 lib/tst_fd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/tst_fd.c b/lib/tst_fd.c
index b3d43a7c3..6538a098c 100644
--- a/lib/tst_fd.c
+++ b/lib/tst_fd.c
@@ -10,9 +10,9 @@
 #include <sys/eventfd.h>
 #include <sys/signalfd.h>
 #include <sys/timerfd.h>
-#include <sys/fanotify.h>
 #include <sys/inotify.h>
 #include <linux/perf_event.h>
+#include <linux/fanotify.h>
 
 #include "tst_test.h"
 #include "tst_safe_macros.h"
@@ -146,7 +146,7 @@ static void open_pidfd(struct tst_fd *fd)
 
 static void open_fanotify(struct tst_fd *fd)
 {
-	fd->fd = fanotify_init(FAN_CLASS_NOTIF, O_RDONLY);
+	fd->fd = syscall(__NR_fanotify_init, FAN_CLASS_NOTIF, O_RDONLY);
 	if (fd->fd < 0) {
 		tst_res(TCONF | TERRNO,
 			"Skipping %s", tst_fd_desc(fd));
-- 
2.44.0.rc0.258.g7320e95886-goog



More information about the ltp mailing list