Message ID | 20231129115440.19100-6-jack@suse.cz |
---|---|
State | Changes Requested |
Headers | show |
Series | fanotify: Make feature tests operate against tested path | expand |
On Wed, Nov 29, 2023 at 1:54 PM Jan Kara <jack@suse.cz> wrote: > > Convert feature check for availability of permission events to be > performed on the tested filesystem. > > Signed-off-by: Jan Kara <jack@suse.cz> Reviewed-by: Amir Goldstein <amir73il@gmail.com> > --- > 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 >
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)
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(-)