[LTP] [PATCH 3/6] fanotify: Switch event and mark tests to *_on_fs() variant
Amir Goldstein
amir73il@gmail.com
Wed Nov 29 15:52:33 CET 2023
On Wed, Nov 29, 2023 at 1:54 PM Jan Kara <jack@suse.cz> wrote:
>
> Switch event availability and mark type availability tests to be
> performed on the filesystem actually used for testing instead of on the
> current directory. This is more reliable as not all filesystems support
> the same set of features.
>
> Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
> ---
> testcases/kernel/syscalls/fanotify/fanotify.h | 2 +-
> testcases/kernel/syscalls/fanotify/fanotify01.c | 2 +-
> testcases/kernel/syscalls/fanotify/fanotify03.c | 7 ++++---
> testcases/kernel/syscalls/fanotify/fanotify09.c | 3 ++-
> testcases/kernel/syscalls/fanotify/fanotify10.c | 13 ++++++++-----
> testcases/kernel/syscalls/fanotify/fanotify11.c | 2 +-
> testcases/kernel/syscalls/fanotify/fanotify12.c | 5 ++---
> testcases/kernel/syscalls/fanotify/fanotify13.c | 3 ++-
> testcases/kernel/syscalls/fanotify/fanotify14.c | 3 ++-
> testcases/kernel/syscalls/fanotify/fanotify16.c | 3 ++-
> 10 files changed, 25 insertions(+), 18 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify.h b/testcases/kernel/syscalls/fanotify/fanotify.h
> index f28da1a5ee55..31afc29c8cb6 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify.h
> +++ b/testcases/kernel/syscalls/fanotify/fanotify.h
> @@ -352,7 +352,7 @@ static inline int fanotify_handle_supported_by_kernel(int flag)
> if (init_flags) \
> REQUIRE_FANOTIFY_INIT_FLAGS_SUPPORTED_ON_FS(init_flags, fname); \
> fanotify_flags_err_msg(#mask, __FILE__, __LINE__, tst_brk_, \
> - fanotify_events_supported_by_kernel(mask, init_flags, mark_type)); \
> + fanotify_flags_supported_on_fs(init_flags, mark_type, mask, fname)); \
> } while (0)
>
> static inline struct fanotify_event_info_header *get_event_info(
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify01.c b/testcases/kernel/syscalls/fanotify/fanotify01.c
> index 3538335c9ab0..5ce1dc76ac8c 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify01.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify01.c
> @@ -341,7 +341,7 @@ static void setup(void)
> SAFE_FILE_PRINTF(fname, "1");
>
> fan_report_fid_unsupported = fanotify_init_flags_supported_on_fs(FAN_REPORT_FID, fname);
> - filesystem_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_FILESYSTEM);
> + filesystem_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_FILESYSTEM, fname);
> }
>
> static void cleanup(void)
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify03.c b/testcases/kernel/syscalls/fanotify/fanotify03.c
> index 0bd61587a9eb..343ba857e1ae 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify03.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify03.c
> @@ -322,12 +322,13 @@ static void setup(void)
> {
> require_fanotify_access_permissions_supported_by_kernel();
>
> - filesystem_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_FILESYSTEM);
> - exec_events_unsupported = fanotify_events_supported_by_kernel(FAN_OPEN_EXEC_PERM,
> - FAN_CLASS_CONTENT, 0);
> sprintf(fname, MOUNT_PATH"/fname_%d", getpid());
> SAFE_FILE_PRINTF(fname, "1");
>
> + 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);
> +
> SAFE_CP(TEST_APP, FILE_EXEC_PATH);
> }
>
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify09.c b/testcases/kernel/syscalls/fanotify/fanotify09.c
> index 3f2db47093c8..6bb1b9e7036f 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify09.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify09.c
> @@ -482,7 +482,8 @@ static void setup(void)
> {
> fan_report_dfid_unsupported = fanotify_init_flags_supported_on_fs(FAN_REPORT_DFID_NAME,
> MOUNT_PATH);
> - ignore_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_IGNORE_SURV);
> + ignore_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_IGNORE_SURV,
> + MOUNT_PATH);
>
> SAFE_MKDIR(MOUNT_NAME, 0755);
> SAFE_MOUNT(MOUNT_PATH, MOUNT_NAME, "none", MS_BIND, NULL);
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify10.c b/testcases/kernel/syscalls/fanotify/fanotify10.c
> index d0e9194e7a58..f30eba9ecbfb 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify10.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify10.c
> @@ -874,11 +874,14 @@ static void setup(void)
> {
> int i;
>
> - exec_events_unsupported = fanotify_events_supported_by_kernel(FAN_OPEN_EXEC,
> - FAN_CLASS_CONTENT, 0);
> - filesystem_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_FILESYSTEM);
> - evictable_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_EVICTABLE);
> - ignore_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_IGNORE_SURV);
> + exec_events_unsupported = fanotify_flags_supported_on_fs(FAN_CLASS_CONTENT,
> + 0, FAN_OPEN_EXEC, MOUNT_PATH);
> + filesystem_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_FILESYSTEM,
> + MOUNT_PATH);
> + evictable_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_EVICTABLE,
> + MOUNT_PATH);
> + ignore_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_IGNORE_SURV,
> + MOUNT_PATH);
> fan_report_dfid_unsupported = fanotify_init_flags_supported_on_fs(FAN_REPORT_DFID_NAME,
> MOUNT_PATH);
> if (fan_report_dfid_unsupported) {
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify11.c b/testcases/kernel/syscalls/fanotify/fanotify11.c
> index 03583d84be9b..ce46913b179e 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify11.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify11.c
> @@ -94,7 +94,7 @@ static void test01(unsigned int i)
>
> static void setup(void)
> {
> - fan_report_tid_unsupported = fanotify_init_flags_supported_by_kernel(FAN_REPORT_TID);
> + fan_report_tid_unsupported = fanotify_init_flags_supported_on_fs(FAN_REPORT_TID, ".");
> }
>
> static struct tst_test test = {
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify12.c b/testcases/kernel/syscalls/fanotify/fanotify12.c
> index 7f8e97b178bc..42ba08800ccf 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify12.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify12.c
> @@ -222,11 +222,10 @@ cleanup:
>
> static void do_setup(void)
> {
> - exec_events_unsupported = fanotify_events_supported_by_kernel(FAN_OPEN_EXEC,
> - FAN_CLASS_NOTIF, 0);
> -
> sprintf(fname, "fname_%d", getpid());
> SAFE_FILE_PRINTF(fname, "1");
> + exec_events_unsupported = fanotify_flags_supported_on_fs(FAN_CLASS_NOTIF,
> + 0, FAN_OPEN_EXEC, fname);
> }
>
> static void do_cleanup(void)
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify13.c b/testcases/kernel/syscalls/fanotify/fanotify13.c
> index 421a3636f834..fdde3b10d1dd 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify13.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify13.c
> @@ -325,7 +325,8 @@ static void do_setup(void)
> SAFE_MOUNT(mnt, MOUNT_PATH, "none", MS_BIND, NULL);
> bind_mounted = 1;
>
> - filesystem_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_FILESYSTEM);
> + filesystem_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_FILESYSTEM,
> + MOUNT_PATH);
>
> nofid_fd = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF, O_RDONLY);
>
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify14.c b/testcases/kernel/syscalls/fanotify/fanotify14.c
> index 0bb78918824b..0e24e0335ae3 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify14.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify14.c
> @@ -325,7 +325,8 @@ static void do_setup(void)
> supported_init_flags = fanotify_get_supported_init_flags(all_init_flags,
> MNTPOINT);
>
> - ignore_mark_unsupported = fanotify_mark_supported_by_kernel(FAN_MARK_IGNORE_SURV);
> + ignore_mark_unsupported = fanotify_mark_supported_on_fs(FAN_MARK_IGNORE_SURV,
> + MNTPOINT);
>
> /* Create temporary test file to place marks on */
> SAFE_FILE_PRINTF(FILE1, "0");
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify16.c b/testcases/kernel/syscalls/fanotify/fanotify16.c
> index d45270a9a06e..dfa4edf0319e 100644
> --- a/testcases/kernel/syscalls/fanotify/fanotify16.c
> +++ b/testcases/kernel/syscalls/fanotify/fanotify16.c
> @@ -766,7 +766,8 @@ static void setup(void)
> fan_report_target_fid_unsupported =
> fanotify_init_flags_supported_on_fs(FAN_REPORT_DFID_NAME_TARGET, MOUNT_PATH);
> rename_events_unsupported =
> - fanotify_events_supported_by_kernel(FAN_RENAME, FAN_REPORT_DFID_NAME, 0);
> + fanotify_flags_supported_on_fs(FAN_REPORT_DFID_NAME, 0,
> + FAN_RENAME, MOUNT_PATH);
>
> SAFE_MKDIR(TEMP_DIR, 0755);
> sprintf(dname1, "%s/%s", MOUNT_PATH, DIR_NAME1);
> --
> 2.35.3
>
More information about the ltp
mailing list