[LTP] [PATCH 6/6] fanotify: Convert permission events feature check to be performed on fs
Jan Kara
jack@suse.cz
Wed Nov 29 12:54:34 CET 2023
Convert feature check for availability of permission events to be
performed on the tested filesystem.
Signed-off-by: Jan Kara <jack@suse.cz>
---
testcases/kernel/syscalls/fanotify/fanotify.h | 5 +++--
testcases/kernel/syscalls/fanotify/fanotify03.c | 3 +--
testcases/kernel/syscalls/fanotify/fanotify07.c | 3 +--
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/testcases/kernel/syscalls/fanotify/fanotify.h b/testcases/kernel/syscalls/fanotify/fanotify.h
index 052b29a7cedc..7cd2213e17bf 100644
--- a/testcases/kernel/syscalls/fanotify/fanotify.h
+++ b/testcases/kernel/syscalls/fanotify/fanotify.h
@@ -133,13 +133,14 @@ static inline int fanotify_save_fid(const char *path,
#define INIT_FANOTIFY_MARK_TYPE(t) \
{ FAN_MARK_ ## t, "FAN_MARK_" #t }
-static inline void require_fanotify_access_permissions_supported_by_kernel(void)
+static inline void require_fanotify_access_permissions_supported_on_fs(
+ const char *fname)
{
int fd;
fd = SAFE_FANOTIFY_INIT(FAN_CLASS_CONTENT, O_RDONLY);
- if (fanotify_mark(fd, FAN_MARK_ADD, FAN_ACCESS_PERM, AT_FDCWD, ".") < 0) {
+ if (fanotify_mark(fd, FAN_MARK_ADD, FAN_ACCESS_PERM, AT_FDCWD, fname) < 0) {
if (errno == EINVAL) {
tst_brk(TCONF | TERRNO,
"CONFIG_FANOTIFY_ACCESS_PERMISSIONS not configured in kernel?");
diff --git a/testcases/kernel/syscalls/fanotify/fanotify03.c b/testcases/kernel/syscalls/fanotify/fanotify03.c
index 343ba857e1ae..028da742c76c 100644
--- a/testcases/kernel/syscalls/fanotify/fanotify03.c
+++ b/testcases/kernel/syscalls/fanotify/fanotify03.c
@@ -320,11 +320,10 @@ static void test_fanotify(unsigned int n)
static void setup(void)
{
- require_fanotify_access_permissions_supported_by_kernel();
-
sprintf(fname, MOUNT_PATH"/fname_%d", getpid());
SAFE_FILE_PRINTF(fname, "1");
+ require_fanotify_access_permissions_supported_on_fs(fname);
filesystem_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_FILESYSTEM, fname);
exec_events_unsupported = fanotify_flags_supported_on_fs(FAN_CLASS_CONTENT,
0, FAN_OPEN_EXEC_PERM, fname);
diff --git a/testcases/kernel/syscalls/fanotify/fanotify07.c b/testcases/kernel/syscalls/fanotify/fanotify07.c
index 396c8490eeda..34aa810c7dac 100644
--- a/testcases/kernel/syscalls/fanotify/fanotify07.c
+++ b/testcases/kernel/syscalls/fanotify/fanotify07.c
@@ -189,10 +189,9 @@ static void test_fanotify(void)
static void setup(void)
{
- require_fanotify_access_permissions_supported_by_kernel();
-
sprintf(fname, "fname_%d", getpid());
SAFE_FILE_PRINTF(fname, "%s", fname);
+ require_fanotify_access_permissions_supported_on_fs(fname);
}
static void cleanup(void)
--
2.35.3
More information about the ltp
mailing list