public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs
@ 2026-02-20 15:47 Martin Doucha
  2026-02-20 15:47 ` [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant Martin Doucha
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Martin Doucha @ 2026-02-20 15:47 UTC (permalink / raw)
  To: ppavlu, ltp

Add test for reading basic fanotify events from a tracefs mount.
The test will activate monitoring of FAN_MODIFY events from the
whole mountpoint, create a new kprobe, activate it, deactivate it
and remove it again. This should generate exactly 4 FAN_MODIFY events.

On some kernels with badly backported tracefs fixes, this may trigger
NULL pointer dereference. The testcase is intentionally simple but
sufficient to trigger this kind of bug. More complex tracing subtests
can be added later.

Martin Doucha (2):
  tst_fs.h: Add TST_TRACEFS_MAGIC constant
  Add test for fanotify monitoring of tracing filesystem

 include/tst_fs.h                              |   1 +
 runtest/syscalls                              |   1 +
 runtest/tracing                               |   1 +
 testcases/kernel/syscalls/fanotify/.gitignore |   1 +
 .../kernel/syscalls/fanotify/fanotify25.c     | 126 ++++++++++++++++++
 5 files changed, 130 insertions(+)
 create mode 100644 testcases/kernel/syscalls/fanotify/fanotify25.c

-- 
2.52.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant
  2026-02-20 15:47 [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs Martin Doucha
@ 2026-02-20 15:47 ` Martin Doucha
  2026-02-24 13:32   ` Petr Vorel
  2026-02-24 14:41   ` Andrea Cervesato via ltp
  2026-02-20 15:47 ` [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem Martin Doucha
  2026-02-26 12:00 ` [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs Andrea Cervesato via ltp
  2 siblings, 2 replies; 13+ messages in thread
From: Martin Doucha @ 2026-02-20 15:47 UTC (permalink / raw)
  To: ppavlu, ltp

Signed-off-by: Martin Doucha <mdoucha@suse.cz>
---
 include/tst_fs.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/tst_fs.h b/include/tst_fs.h
index ceae78e7e..6dfa157a5 100644
--- a/include/tst_fs.h
+++ b/include/tst_fs.h
@@ -11,6 +11,7 @@
 #define TST_NFS_MAGIC      0x6969
 #define TST_RAMFS_MAGIC    0x858458f6
 #define TST_TMPFS_MAGIC    0x01021994
+#define TST_TRACEFS_MAGIC  0x74726163
 #define TST_V9FS_MAGIC     0x01021997
 #define TST_XFS_MAGIC      0x58465342
 #define TST_EXT2_OLD_MAGIC 0xEF51
-- 
2.52.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-20 15:47 [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs Martin Doucha
  2026-02-20 15:47 ` [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant Martin Doucha
@ 2026-02-20 15:47 ` Martin Doucha
  2026-02-23 16:30   ` Cyril Hrubis
                     ` (2 more replies)
  2026-02-26 12:00 ` [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs Andrea Cervesato via ltp
  2 siblings, 3 replies; 13+ messages in thread
From: Martin Doucha @ 2026-02-20 15:47 UTC (permalink / raw)
  To: ppavlu, ltp

Add a test that will start monitoring the kernel tracing filesystem,
write new configuration into tracing sysfiles and then verify
that the writes triggered fanotify events.

Signed-off-by: Martin Doucha <mdoucha@suse.cz>
---
 runtest/syscalls                              |   1 +
 runtest/tracing                               |   1 +
 testcases/kernel/syscalls/fanotify/.gitignore |   1 +
 .../kernel/syscalls/fanotify/fanotify25.c     | 126 ++++++++++++++++++
 4 files changed, 129 insertions(+)
 create mode 100644 testcases/kernel/syscalls/fanotify/fanotify25.c

diff --git a/runtest/syscalls b/runtest/syscalls
index 2f629e4e4..30224f5b4 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -671,6 +671,7 @@ fanotify21 fanotify21
 fanotify22 fanotify22
 fanotify23 fanotify23
 fanotify24 fanotify24
+fanotify25 fanotify25
 
 ioperm01 ioperm01
 ioperm02 ioperm02
diff --git a/runtest/tracing b/runtest/tracing
index d2700ca57..674e2ad97 100644
--- a/runtest/tracing
+++ b/runtest/tracing
@@ -3,6 +3,7 @@ ftrace_regression01	ftrace_regression01.sh
 ftrace_regression02	ftrace_regression02.sh
 ftrace-stress-test	ftrace_stress_test.sh 90
 dynamic_debug01		dynamic_debug01.sh
+fanotify25 fanotify25
 pt_full_trace_basic pt_test
 pt_snapshot_trace_basic pt_test -m
 pt_ex_user pt_test -e user
diff --git a/testcases/kernel/syscalls/fanotify/.gitignore b/testcases/kernel/syscalls/fanotify/.gitignore
index 16af3db85..d6d0599f1 100644
--- a/testcases/kernel/syscalls/fanotify/.gitignore
+++ b/testcases/kernel/syscalls/fanotify/.gitignore
@@ -22,4 +22,5 @@
 /fanotify22
 /fanotify23
 /fanotify24
+/fanotify25
 /fanotify_child
diff --git a/testcases/kernel/syscalls/fanotify/fanotify25.c b/testcases/kernel/syscalls/fanotify/fanotify25.c
new file mode 100644
index 000000000..c982f3225
--- /dev/null
+++ b/testcases/kernel/syscalls/fanotify/fanotify25.c
@@ -0,0 +1,126 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 SUSE LLC
+ * Author: Petr Pavlu <ppavlu@suse.cz>
+ * LTP port: Martin Doucha <mdoucha@suse.cz>
+ */
+
+/*\
+ * Verify that fanotify monitoring can be applied to the tracing filesystem
+ * and write events will be correctly delivered.
+ */
+
+#define _GNU_SOURCE
+#include "tst_test.h"
+#include "lapi/mount.h"
+
+#ifdef HAVE_SYS_FANOTIFY_H
+#include "fanotify.h"
+
+#define MNTPOINT "/sys/kernel/tracing"
+#define EVENTS_SYSFILE MNTPOINT "/kprobe_events"
+
+static const struct traceconfig {
+	const char *filename;
+	const char *wdata;
+} trace_cmds[] = {
+	{EVENTS_SYSFILE, "p:ltp_load_module_0 load_module"},
+	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "1"},
+	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "0"},
+	{EVENTS_SYSFILE, "-:ltp_load_module_0"},
+	{}
+};
+
+static int fan_fd = -1;
+static int unmount_needed;
+
+static void setup(void)
+{
+	if (tst_fs_type(MNTPOINT) != TST_TRACEFS_MAGIC) {
+		SAFE_MOUNT("tracefs", MNTPOINT, "tracefs",
+			MS_NODEV | MS_NOEXEC | MS_NOSUID, NULL);
+		unmount_needed = 1;
+	}
+
+	if (access(EVENTS_SYSFILE, F_OK))
+		tst_brk(TCONF, "Kprobe events not supported by kernel");
+
+	fan_fd = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF | FAN_NONBLOCK, O_RDONLY);
+	SAFE_FANOTIFY_MARK(fan_fd, FAN_MARK_ADD | FAN_MARK_MOUNT, FAN_MODIFY,
+		-1, MNTPOINT);
+}
+
+static void do_child(void)
+{
+	int i, fd, events, ret;
+	pid_t pid = getpid();
+	struct fanotify_event_metadata buf;
+
+	for (i = 0, events = 0; trace_cmds[i].filename; i++) {
+		fd = SAFE_OPEN(trace_cmds[i].filename, O_WRONLY, 0644);
+		SAFE_WRITE(1, fd, trace_cmds[i].wdata,
+			strlen(trace_cmds[i].wdata));
+		SAFE_CLOSE(fd);
+
+		while ((ret = read(fan_fd, &buf, sizeof(buf))) > 0) {
+			if (buf.pid != pid)
+				continue;
+
+			if (!(buf.mask & FAN_MODIFY)) {
+				tst_res(TFAIL, "Unexpected event %llx",
+					buf.mask);
+				continue;
+			}
+
+			events++;
+		}
+
+		if (ret < 0 && errno != EAGAIN)
+			tst_res(TFAIL | TERRNO, "fanotify read() failed");
+	}
+
+	if (events == i)
+		tst_res(TPASS, "Received %d events", events);
+	else
+		tst_res(TFAIL, "Received %d events, expected %d", events, i);
+}
+
+static void run(void)
+{
+	/*
+	 * Fork a child to do the actual trace writes, otherwise tracefs
+	 * would be busy until the current process exits and it would become
+	 * impossible to unmount in cleanup().
+	 */
+	if (!SAFE_FORK()) {
+		do_child();
+		SAFE_CLOSE(fan_fd);
+		exit(0);
+	}
+}
+
+static void cleanup(void)
+{
+	if (fan_fd >= 0)
+		SAFE_CLOSE(fan_fd);
+
+	if (unmount_needed)
+		SAFE_UMOUNT(MNTPOINT);
+}
+
+static struct tst_test test = {
+	.test_all = run,
+	.setup = setup,
+	.cleanup = cleanup,
+	.needs_root = 1,
+	.forks_child = 1,
+	.taint_check = TST_TAINT_W | TST_TAINT_D,
+	.needs_kconfigs = (const char *[]) {
+		"CONFIG_TRACING",
+		NULL
+	}
+};
+
+#else
+	TST_TEST_TCONF("system doesn't have required fanotify support");
+#endif
-- 
2.52.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-20 15:47 ` [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem Martin Doucha
@ 2026-02-23 16:30   ` Cyril Hrubis
  2026-02-23 16:54     ` Amir Goldstein
  2026-02-26 11:33     ` Jan Kara
  2026-02-24 13:40   ` Petr Vorel
  2026-02-24 14:41   ` Andrea Cervesato via ltp
  2 siblings, 2 replies; 13+ messages in thread
From: Cyril Hrubis @ 2026-02-23 16:30 UTC (permalink / raw)
  To: Martin Doucha; +Cc: Jan Kara, ppavlu, Amir Goldstein, ltp

Hi!
CCing Jan and Amir.

> Add a test that will start monitoring the kernel tracing filesystem,
> write new configuration into tracing sysfiles and then verify
> that the writes triggered fanotify events.
> 
> Signed-off-by: Martin Doucha <mdoucha@suse.cz>
> ---
>  runtest/syscalls                              |   1 +
>  runtest/tracing                               |   1 +
>  testcases/kernel/syscalls/fanotify/.gitignore |   1 +
>  .../kernel/syscalls/fanotify/fanotify25.c     | 126 ++++++++++++++++++
>  4 files changed, 129 insertions(+)
>  create mode 100644 testcases/kernel/syscalls/fanotify/fanotify25.c
> 
> diff --git a/runtest/syscalls b/runtest/syscalls
> index 2f629e4e4..30224f5b4 100644
> --- a/runtest/syscalls
> +++ b/runtest/syscalls
> @@ -671,6 +671,7 @@ fanotify21 fanotify21
>  fanotify22 fanotify22
>  fanotify23 fanotify23
>  fanotify24 fanotify24
> +fanotify25 fanotify25
>  
>  ioperm01 ioperm01
>  ioperm02 ioperm02
> diff --git a/runtest/tracing b/runtest/tracing
> index d2700ca57..674e2ad97 100644
> --- a/runtest/tracing
> +++ b/runtest/tracing
> @@ -3,6 +3,7 @@ ftrace_regression01	ftrace_regression01.sh
>  ftrace_regression02	ftrace_regression02.sh
>  ftrace-stress-test	ftrace_stress_test.sh 90
>  dynamic_debug01		dynamic_debug01.sh
> +fanotify25 fanotify25
>  pt_full_trace_basic pt_test
>  pt_snapshot_trace_basic pt_test -m
>  pt_ex_user pt_test -e user
> diff --git a/testcases/kernel/syscalls/fanotify/.gitignore b/testcases/kernel/syscalls/fanotify/.gitignore
> index 16af3db85..d6d0599f1 100644
> --- a/testcases/kernel/syscalls/fanotify/.gitignore
> +++ b/testcases/kernel/syscalls/fanotify/.gitignore
> @@ -22,4 +22,5 @@
>  /fanotify22
>  /fanotify23
>  /fanotify24
> +/fanotify25
>  /fanotify_child
> diff --git a/testcases/kernel/syscalls/fanotify/fanotify25.c b/testcases/kernel/syscalls/fanotify/fanotify25.c
> new file mode 100644
> index 000000000..c982f3225
> --- /dev/null
> +++ b/testcases/kernel/syscalls/fanotify/fanotify25.c
> @@ -0,0 +1,126 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2026 SUSE LLC
> + * Author: Petr Pavlu <ppavlu@suse.cz>
> + * LTP port: Martin Doucha <mdoucha@suse.cz>
> + */
> +
> +/*\
> + * Verify that fanotify monitoring can be applied to the tracing filesystem
> + * and write events will be correctly delivered.
> + */
> +
> +#define _GNU_SOURCE
> +#include "tst_test.h"
> +#include "lapi/mount.h"
> +
> +#ifdef HAVE_SYS_FANOTIFY_H
> +#include "fanotify.h"
> +
> +#define MNTPOINT "/sys/kernel/tracing"
> +#define EVENTS_SYSFILE MNTPOINT "/kprobe_events"
> +
> +static const struct traceconfig {
> +	const char *filename;
> +	const char *wdata;
> +} trace_cmds[] = {
> +	{EVENTS_SYSFILE, "p:ltp_load_module_0 load_module"},
> +	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "1"},
> +	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "0"},
> +	{EVENTS_SYSFILE, "-:ltp_load_module_0"},
> +	{}
> +};
> +
> +static int fan_fd = -1;
> +static int unmount_needed;
> +
> +static void setup(void)
> +{
> +	if (tst_fs_type(MNTPOINT) != TST_TRACEFS_MAGIC) {
> +		SAFE_MOUNT("tracefs", MNTPOINT, "tracefs",
> +			MS_NODEV | MS_NOEXEC | MS_NOSUID, NULL);
> +		unmount_needed = 1;
> +	}
> +
> +	if (access(EVENTS_SYSFILE, F_OK))
> +		tst_brk(TCONF, "Kprobe events not supported by kernel");
> +
> +	fan_fd = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF | FAN_NONBLOCK, O_RDONLY);
> +	SAFE_FANOTIFY_MARK(fan_fd, FAN_MARK_ADD | FAN_MARK_MOUNT, FAN_MODIFY,
> +		-1, MNTPOINT);
> +}
> +
> +static void do_child(void)
> +{
> +	int i, fd, events, ret;
> +	pid_t pid = getpid();
> +	struct fanotify_event_metadata buf;
> +
> +	for (i = 0, events = 0; trace_cmds[i].filename; i++) {
> +		fd = SAFE_OPEN(trace_cmds[i].filename, O_WRONLY, 0644);
> +		SAFE_WRITE(1, fd, trace_cmds[i].wdata,
> +			strlen(trace_cmds[i].wdata));
> +		SAFE_CLOSE(fd);
> +
> +		while ((ret = read(fan_fd, &buf, sizeof(buf))) > 0) {
> +			if (buf.pid != pid)
> +				continue;
> +
> +			if (!(buf.mask & FAN_MODIFY)) {
> +				tst_res(TFAIL, "Unexpected event %llx",
> +					buf.mask);
> +				continue;
> +			}
> +
> +			events++;
> +		}
> +
> +		if (ret < 0 && errno != EAGAIN)
> +			tst_res(TFAIL | TERRNO, "fanotify read() failed");
> +	}
> +
> +	if (events == i)
> +		tst_res(TPASS, "Received %d events", events);
> +	else
> +		tst_res(TFAIL, "Received %d events, expected %d", events, i);
> +}
> +
> +static void run(void)
> +{
> +	/*
> +	 * Fork a child to do the actual trace writes, otherwise tracefs
> +	 * would be busy until the current process exits and it would become
> +	 * impossible to unmount in cleanup().
> +	 */
> +	if (!SAFE_FORK()) {
> +		do_child();
> +		SAFE_CLOSE(fan_fd);
> +		exit(0);
> +	}
> +}
> +
> +static void cleanup(void)
> +{
> +	if (fan_fd >= 0)
> +		SAFE_CLOSE(fan_fd);
> +
> +	if (unmount_needed)
> +		SAFE_UMOUNT(MNTPOINT);
> +}
> +
> +static struct tst_test test = {
> +	.test_all = run,
> +	.setup = setup,
> +	.cleanup = cleanup,
> +	.needs_root = 1,
> +	.forks_child = 1,
> +	.taint_check = TST_TAINT_W | TST_TAINT_D,
> +	.needs_kconfigs = (const char *[]) {
> +		"CONFIG_TRACING",
> +		NULL
> +	}
> +};
> +
> +#else
> +	TST_TEST_TCONF("system doesn't have required fanotify support");
> +#endif
> -- 
> 2.52.0
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-23 16:30   ` Cyril Hrubis
@ 2026-02-23 16:54     ` Amir Goldstein
  2026-02-26 11:33     ` Jan Kara
  1 sibling, 0 replies; 13+ messages in thread
From: Amir Goldstein @ 2026-02-23 16:54 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: ppavlu, Jan Kara, ltp

On Mon, Feb 23, 2026 at 5:30 PM Cyril Hrubis <chrubis@suse.cz> wrote:
>
> Hi!
> CCing Jan and Amir.
>
> > Add a test that will start monitoring the kernel tracing filesystem,
> > write new configuration into tracing sysfiles and then verify
> > that the writes triggered fanotify events.
> >
> > Signed-off-by: Martin Doucha <mdoucha@suse.cz>

LGTM

Feel free to add
Reviewed-by: Amir Goldstein <amir73il@gmail.com>

> > ---
> >  runtest/syscalls                              |   1 +
> >  runtest/tracing                               |   1 +
> >  testcases/kernel/syscalls/fanotify/.gitignore |   1 +
> >  .../kernel/syscalls/fanotify/fanotify25.c     | 126 ++++++++++++++++++
> >  4 files changed, 129 insertions(+)
> >  create mode 100644 testcases/kernel/syscalls/fanotify/fanotify25.c
> >
> > diff --git a/runtest/syscalls b/runtest/syscalls
> > index 2f629e4e4..30224f5b4 100644
> > --- a/runtest/syscalls
> > +++ b/runtest/syscalls
> > @@ -671,6 +671,7 @@ fanotify21 fanotify21
> >  fanotify22 fanotify22
> >  fanotify23 fanotify23
> >  fanotify24 fanotify24
> > +fanotify25 fanotify25
> >
> >  ioperm01 ioperm01
> >  ioperm02 ioperm02
> > diff --git a/runtest/tracing b/runtest/tracing
> > index d2700ca57..674e2ad97 100644
> > --- a/runtest/tracing
> > +++ b/runtest/tracing
> > @@ -3,6 +3,7 @@ ftrace_regression01   ftrace_regression01.sh
> >  ftrace_regression02  ftrace_regression02.sh
> >  ftrace-stress-test   ftrace_stress_test.sh 90
> >  dynamic_debug01              dynamic_debug01.sh
> > +fanotify25 fanotify25
> >  pt_full_trace_basic pt_test
> >  pt_snapshot_trace_basic pt_test -m
> >  pt_ex_user pt_test -e user
> > diff --git a/testcases/kernel/syscalls/fanotify/.gitignore b/testcases/kernel/syscalls/fanotify/.gitignore
> > index 16af3db85..d6d0599f1 100644
> > --- a/testcases/kernel/syscalls/fanotify/.gitignore
> > +++ b/testcases/kernel/syscalls/fanotify/.gitignore
> > @@ -22,4 +22,5 @@
> >  /fanotify22
> >  /fanotify23
> >  /fanotify24
> > +/fanotify25
> >  /fanotify_child
> > diff --git a/testcases/kernel/syscalls/fanotify/fanotify25.c b/testcases/kernel/syscalls/fanotify/fanotify25.c
> > new file mode 100644
> > index 000000000..c982f3225
> > --- /dev/null
> > +++ b/testcases/kernel/syscalls/fanotify/fanotify25.c
> > @@ -0,0 +1,126 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * Copyright (C) 2026 SUSE LLC
> > + * Author: Petr Pavlu <ppavlu@suse.cz>
> > + * LTP port: Martin Doucha <mdoucha@suse.cz>
> > + */
> > +
> > +/*\
> > + * Verify that fanotify monitoring can be applied to the tracing filesystem
> > + * and write events will be correctly delivered.
> > + */
> > +
> > +#define _GNU_SOURCE
> > +#include "tst_test.h"
> > +#include "lapi/mount.h"
> > +
> > +#ifdef HAVE_SYS_FANOTIFY_H
> > +#include "fanotify.h"
> > +
> > +#define MNTPOINT "/sys/kernel/tracing"
> > +#define EVENTS_SYSFILE MNTPOINT "/kprobe_events"
> > +
> > +static const struct traceconfig {
> > +     const char *filename;
> > +     const char *wdata;
> > +} trace_cmds[] = {
> > +     {EVENTS_SYSFILE, "p:ltp_load_module_0 load_module"},
> > +     {MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "1"},
> > +     {MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "0"},
> > +     {EVENTS_SYSFILE, "-:ltp_load_module_0"},
> > +     {}
> > +};
> > +
> > +static int fan_fd = -1;
> > +static int unmount_needed;
> > +
> > +static void setup(void)
> > +{
> > +     if (tst_fs_type(MNTPOINT) != TST_TRACEFS_MAGIC) {
> > +             SAFE_MOUNT("tracefs", MNTPOINT, "tracefs",
> > +                     MS_NODEV | MS_NOEXEC | MS_NOSUID, NULL);
> > +             unmount_needed = 1;
> > +     }
> > +
> > +     if (access(EVENTS_SYSFILE, F_OK))
> > +             tst_brk(TCONF, "Kprobe events not supported by kernel");
> > +
> > +     fan_fd = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF | FAN_NONBLOCK, O_RDONLY);
> > +     SAFE_FANOTIFY_MARK(fan_fd, FAN_MARK_ADD | FAN_MARK_MOUNT, FAN_MODIFY,
> > +             -1, MNTPOINT);
> > +}
> > +
> > +static void do_child(void)
> > +{
> > +     int i, fd, events, ret;
> > +     pid_t pid = getpid();
> > +     struct fanotify_event_metadata buf;
> > +
> > +     for (i = 0, events = 0; trace_cmds[i].filename; i++) {
> > +             fd = SAFE_OPEN(trace_cmds[i].filename, O_WRONLY, 0644);
> > +             SAFE_WRITE(1, fd, trace_cmds[i].wdata,
> > +                     strlen(trace_cmds[i].wdata));
> > +             SAFE_CLOSE(fd);
> > +
> > +             while ((ret = read(fan_fd, &buf, sizeof(buf))) > 0) {
> > +                     if (buf.pid != pid)
> > +                             continue;
> > +
> > +                     if (!(buf.mask & FAN_MODIFY)) {
> > +                             tst_res(TFAIL, "Unexpected event %llx",
> > +                                     buf.mask);
> > +                             continue;
> > +                     }
> > +
> > +                     events++;
> > +             }
> > +
> > +             if (ret < 0 && errno != EAGAIN)
> > +                     tst_res(TFAIL | TERRNO, "fanotify read() failed");
> > +     }
> > +
> > +     if (events == i)
> > +             tst_res(TPASS, "Received %d events", events);
> > +     else
> > +             tst_res(TFAIL, "Received %d events, expected %d", events, i);
> > +}
> > +
> > +static void run(void)
> > +{
> > +     /*
> > +      * Fork a child to do the actual trace writes, otherwise tracefs
> > +      * would be busy until the current process exits and it would become
> > +      * impossible to unmount in cleanup().
> > +      */
> > +     if (!SAFE_FORK()) {
> > +             do_child();
> > +             SAFE_CLOSE(fan_fd);
> > +             exit(0);
> > +     }
> > +}
> > +
> > +static void cleanup(void)
> > +{
> > +     if (fan_fd >= 0)
> > +             SAFE_CLOSE(fan_fd);
> > +
> > +     if (unmount_needed)
> > +             SAFE_UMOUNT(MNTPOINT);
> > +}
> > +
> > +static struct tst_test test = {
> > +     .test_all = run,
> > +     .setup = setup,
> > +     .cleanup = cleanup,
> > +     .needs_root = 1,
> > +     .forks_child = 1,
> > +     .taint_check = TST_TAINT_W | TST_TAINT_D,
> > +     .needs_kconfigs = (const char *[]) {
> > +             "CONFIG_TRACING",
> > +             NULL
> > +     }
> > +};
> > +
> > +#else
> > +     TST_TEST_TCONF("system doesn't have required fanotify support");
> > +#endif
> > --
> > 2.52.0
> >
> >
> > --
> > Mailing list info: https://lists.linux.it/listinfo/ltp
>
> --
> Cyril Hrubis
> chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant
  2026-02-20 15:47 ` [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant Martin Doucha
@ 2026-02-24 13:32   ` Petr Vorel
  2026-02-24 14:41   ` Andrea Cervesato via ltp
  1 sibling, 0 replies; 13+ messages in thread
From: Petr Vorel @ 2026-02-24 13:32 UTC (permalink / raw)
  To: Martin Doucha; +Cc: ppavlu, ltp

Hi Martin,

Obviously correct.
Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-20 15:47 ` [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem Martin Doucha
  2026-02-23 16:30   ` Cyril Hrubis
@ 2026-02-24 13:40   ` Petr Vorel
  2026-02-24 14:06     ` Martin Doucha
  2026-02-24 14:41   ` Andrea Cervesato via ltp
  2 siblings, 1 reply; 13+ messages in thread
From: Petr Vorel @ 2026-02-24 13:40 UTC (permalink / raw)
  To: Martin Doucha; +Cc: ppavlu, ltp

Hi Martin,

LGTM
Reviewed-by: Petr Vorel <pvorel@suse.cz>
...
> --- /dev/null
> +++ b/testcases/kernel/syscalls/fanotify/fanotify25.c
...
> +#define MNTPOINT "/sys/kernel/tracing"
> +#define EVENTS_SYSFILE MNTPOINT "/kprobe_events"
> +
> +static const struct traceconfig {
> +	const char *filename;
> +	const char *wdata;
> +} trace_cmds[] = {
> +	{EVENTS_SYSFILE, "p:ltp_load_module_0 load_module"},
> +	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "1"},
> +	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "0"},
> +	{EVENTS_SYSFILE, "-:ltp_load_module_0"},
> +	{}
> +};
> +
> +static int fan_fd = -1;
> +static int unmount_needed;
> +
> +static void setup(void)
> +{
> +	if (tst_fs_type(MNTPOINT) != TST_TRACEFS_MAGIC) {
> +		SAFE_MOUNT("tracefs", MNTPOINT, "tracefs",
> +			MS_NODEV | MS_NOEXEC | MS_NOSUID, NULL);

I see possible mounting is the reason...

> +		unmount_needed = 1;
> +	}
> +
> +	if (access(EVENTS_SYSFILE, F_OK))
> +		tst_brk(TCONF, "Kprobe events not supported by kernel");

... why we cannot check /sys/kernel/tracing/kprobe_events presence via
.save_restore.

> +
> +	fan_fd = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF | FAN_NONBLOCK, O_RDONLY);
> +	SAFE_FANOTIFY_MARK(fan_fd, FAN_MARK_ADD | FAN_MARK_MOUNT, FAN_MODIFY,
> +		-1, MNTPOINT);
> +}
> +
> +static void do_child(void)
> +{
> +	int i, fd, events, ret;
> +	pid_t pid = getpid();
> +	struct fanotify_event_metadata buf;
> +
> +	for (i = 0, events = 0; trace_cmds[i].filename; i++) {
> +		fd = SAFE_OPEN(trace_cmds[i].filename, O_WRONLY, 0644);
> +		SAFE_WRITE(1, fd, trace_cmds[i].wdata,
> +			strlen(trace_cmds[i].wdata));
> +		SAFE_CLOSE(fd);
> +
> +		while ((ret = read(fan_fd, &buf, sizeof(buf))) > 0) {
> +			if (buf.pid != pid)
> +				continue;
> +
> +			if (!(buf.mask & FAN_MODIFY)) {
> +				tst_res(TFAIL, "Unexpected event %llx",
> +					buf.mask);
> +				continue;
> +			}
> +
> +			events++;
> +		}
> +
> +		if (ret < 0 && errno != EAGAIN)
> +			tst_res(TFAIL | TERRNO, "fanotify read() failed");
> +	}
> +
> +	if (events == i)
> +		tst_res(TPASS, "Received %d events", events);
> +	else
> +		tst_res(TFAIL, "Received %d events, expected %d", events, i);
> +}
OT: I guess we miss optional string arg for TST_EXP_EQ_*() macros to be usable.

> +
> +static void run(void)
> +{
> +	/*
> +	 * Fork a child to do the actual trace writes, otherwise tracefs
> +	 * would be busy until the current process exits and it would become
> +	 * impossible to unmount in cleanup().
> +	 */
+1

Kind regards,
Petr

> +	if (!SAFE_FORK()) {
> +		do_child();
> +		SAFE_CLOSE(fan_fd);
> +		exit(0);
> +	}
> +}
...

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-24 13:40   ` Petr Vorel
@ 2026-02-24 14:06     ` Martin Doucha
  2026-02-24 14:31       ` Petr Vorel
  0 siblings, 1 reply; 13+ messages in thread
From: Martin Doucha @ 2026-02-24 14:06 UTC (permalink / raw)
  To: Petr Vorel; +Cc: ppavlu, ltp

Hi!

On 2/24/26 14:40, Petr Vorel wrote:
>> +static void setup(void)
>> +{
>> +	if (tst_fs_type(MNTPOINT) != TST_TRACEFS_MAGIC) {
>> +		SAFE_MOUNT("tracefs", MNTPOINT, "tracefs",
>> +			MS_NODEV | MS_NOEXEC | MS_NOSUID, NULL);
> 
> I see possible mounting is the reason...
> 
>> +		unmount_needed = 1;
>> +	}
>> +
>> +	if (access(EVENTS_SYSFILE, F_OK))
>> +		tst_brk(TCONF, "Kprobe events not supported by kernel");
> 
> ... why we cannot check /sys/kernel/tracing/kprobe_events presence via
> .save_restore.

Well, yes, tracefs may need to be mounted during test setup. But 
.save_restore also assumes that sysfiles contain only one line while 
kprobe_events may hold arbitrarily long kprobe list. Also note that the 
restore function opens the sysfile with O_TRUNC, which might wipe all 
existing kprobes before creating them again. Therefore I've decided to 
check the file availability in setup() and send a targeted kprobe delete 
command instead of saving and restoring the whole sysfile.


-- 
Martin Doucha   mdoucha@suse.cz
SW Quality Engineer
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-24 14:06     ` Martin Doucha
@ 2026-02-24 14:31       ` Petr Vorel
  0 siblings, 0 replies; 13+ messages in thread
From: Petr Vorel @ 2026-02-24 14:31 UTC (permalink / raw)
  To: Martin Doucha; +Cc: ppavlu, ltp

> Hi!

> On 2/24/26 14:40, Petr Vorel wrote:
> > > +static void setup(void)
> > > +{
> > > +	if (tst_fs_type(MNTPOINT) != TST_TRACEFS_MAGIC) {
> > > +		SAFE_MOUNT("tracefs", MNTPOINT, "tracefs",
> > > +			MS_NODEV | MS_NOEXEC | MS_NOSUID, NULL);

> > I see possible mounting is the reason...

> > > +		unmount_needed = 1;
> > > +	}
> > > +
> > > +	if (access(EVENTS_SYSFILE, F_OK))
> > > +		tst_brk(TCONF, "Kprobe events not supported by kernel");

> > ... why we cannot check /sys/kernel/tracing/kprobe_events presence via
> > .save_restore.

> Well, yes, tracefs may need to be mounted during test setup. But
> .save_restore also assumes that sysfiles contain only one line while
> kprobe_events may hold arbitrarily long kprobe list. Also note that the
> restore function opens the sysfile with O_TRUNC, which might wipe all
> existing kprobes before creating them again. Therefore I've decided to check
> the file availability in setup() and send a targeted kprobe delete command
> instead of saving and restoring the whole sysfile.

Makes sense. Thanks for info.

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant
  2026-02-20 15:47 ` [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant Martin Doucha
  2026-02-24 13:32   ` Petr Vorel
@ 2026-02-24 14:41   ` Andrea Cervesato via ltp
  1 sibling, 0 replies; 13+ messages in thread
From: Andrea Cervesato via ltp @ 2026-02-24 14:41 UTC (permalink / raw)
  To: Martin Doucha, ppavlu, ltp

Hi!

Reviewed-by: Andrea Cervesato <andrea.cervesato@suse.com>


-- 
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-20 15:47 ` [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem Martin Doucha
  2026-02-23 16:30   ` Cyril Hrubis
  2026-02-24 13:40   ` Petr Vorel
@ 2026-02-24 14:41   ` Andrea Cervesato via ltp
  2 siblings, 0 replies; 13+ messages in thread
From: Andrea Cervesato via ltp @ 2026-02-24 14:41 UTC (permalink / raw)
  To: Martin Doucha, ppavlu, ltp

Hi!

Reviewed-by: Andrea Cervesato <andrea.cervesato@suse.com>


-- 
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem
  2026-02-23 16:30   ` Cyril Hrubis
  2026-02-23 16:54     ` Amir Goldstein
@ 2026-02-26 11:33     ` Jan Kara
  1 sibling, 0 replies; 13+ messages in thread
From: Jan Kara @ 2026-02-26 11:33 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Jan Kara, ppavlu, Amir Goldstein, ltp

On Mon 23-02-26 17:30:28, Cyril Hrubis wrote:
> Hi!
> CCing Jan and Amir.
> 
> > Add a test that will start monitoring the kernel tracing filesystem,
> > write new configuration into tracing sysfiles and then verify
> > that the writes triggered fanotify events.
> > 
> > Signed-off-by: Martin Doucha <mdoucha@suse.cz>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> > ---
> >  runtest/syscalls                              |   1 +
> >  runtest/tracing                               |   1 +
> >  testcases/kernel/syscalls/fanotify/.gitignore |   1 +
> >  .../kernel/syscalls/fanotify/fanotify25.c     | 126 ++++++++++++++++++
> >  4 files changed, 129 insertions(+)
> >  create mode 100644 testcases/kernel/syscalls/fanotify/fanotify25.c
> > 
> > diff --git a/runtest/syscalls b/runtest/syscalls
> > index 2f629e4e4..30224f5b4 100644
> > --- a/runtest/syscalls
> > +++ b/runtest/syscalls
> > @@ -671,6 +671,7 @@ fanotify21 fanotify21
> >  fanotify22 fanotify22
> >  fanotify23 fanotify23
> >  fanotify24 fanotify24
> > +fanotify25 fanotify25
> >  
> >  ioperm01 ioperm01
> >  ioperm02 ioperm02
> > diff --git a/runtest/tracing b/runtest/tracing
> > index d2700ca57..674e2ad97 100644
> > --- a/runtest/tracing
> > +++ b/runtest/tracing
> > @@ -3,6 +3,7 @@ ftrace_regression01	ftrace_regression01.sh
> >  ftrace_regression02	ftrace_regression02.sh
> >  ftrace-stress-test	ftrace_stress_test.sh 90
> >  dynamic_debug01		dynamic_debug01.sh
> > +fanotify25 fanotify25
> >  pt_full_trace_basic pt_test
> >  pt_snapshot_trace_basic pt_test -m
> >  pt_ex_user pt_test -e user
> > diff --git a/testcases/kernel/syscalls/fanotify/.gitignore b/testcases/kernel/syscalls/fanotify/.gitignore
> > index 16af3db85..d6d0599f1 100644
> > --- a/testcases/kernel/syscalls/fanotify/.gitignore
> > +++ b/testcases/kernel/syscalls/fanotify/.gitignore
> > @@ -22,4 +22,5 @@
> >  /fanotify22
> >  /fanotify23
> >  /fanotify24
> > +/fanotify25
> >  /fanotify_child
> > diff --git a/testcases/kernel/syscalls/fanotify/fanotify25.c b/testcases/kernel/syscalls/fanotify/fanotify25.c
> > new file mode 100644
> > index 000000000..c982f3225
> > --- /dev/null
> > +++ b/testcases/kernel/syscalls/fanotify/fanotify25.c
> > @@ -0,0 +1,126 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * Copyright (C) 2026 SUSE LLC
> > + * Author: Petr Pavlu <ppavlu@suse.cz>
> > + * LTP port: Martin Doucha <mdoucha@suse.cz>
> > + */
> > +
> > +/*\
> > + * Verify that fanotify monitoring can be applied to the tracing filesystem
> > + * and write events will be correctly delivered.
> > + */
> > +
> > +#define _GNU_SOURCE
> > +#include "tst_test.h"
> > +#include "lapi/mount.h"
> > +
> > +#ifdef HAVE_SYS_FANOTIFY_H
> > +#include "fanotify.h"
> > +
> > +#define MNTPOINT "/sys/kernel/tracing"
> > +#define EVENTS_SYSFILE MNTPOINT "/kprobe_events"
> > +
> > +static const struct traceconfig {
> > +	const char *filename;
> > +	const char *wdata;
> > +} trace_cmds[] = {
> > +	{EVENTS_SYSFILE, "p:ltp_load_module_0 load_module"},
> > +	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "1"},
> > +	{MNTPOINT "/events/kprobes/ltp_load_module_0/enable", "0"},
> > +	{EVENTS_SYSFILE, "-:ltp_load_module_0"},
> > +	{}
> > +};
> > +
> > +static int fan_fd = -1;
> > +static int unmount_needed;
> > +
> > +static void setup(void)
> > +{
> > +	if (tst_fs_type(MNTPOINT) != TST_TRACEFS_MAGIC) {
> > +		SAFE_MOUNT("tracefs", MNTPOINT, "tracefs",
> > +			MS_NODEV | MS_NOEXEC | MS_NOSUID, NULL);
> > +		unmount_needed = 1;
> > +	}
> > +
> > +	if (access(EVENTS_SYSFILE, F_OK))
> > +		tst_brk(TCONF, "Kprobe events not supported by kernel");
> > +
> > +	fan_fd = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF | FAN_NONBLOCK, O_RDONLY);
> > +	SAFE_FANOTIFY_MARK(fan_fd, FAN_MARK_ADD | FAN_MARK_MOUNT, FAN_MODIFY,
> > +		-1, MNTPOINT);
> > +}
> > +
> > +static void do_child(void)
> > +{
> > +	int i, fd, events, ret;
> > +	pid_t pid = getpid();
> > +	struct fanotify_event_metadata buf;
> > +
> > +	for (i = 0, events = 0; trace_cmds[i].filename; i++) {
> > +		fd = SAFE_OPEN(trace_cmds[i].filename, O_WRONLY, 0644);
> > +		SAFE_WRITE(1, fd, trace_cmds[i].wdata,
> > +			strlen(trace_cmds[i].wdata));
> > +		SAFE_CLOSE(fd);
> > +
> > +		while ((ret = read(fan_fd, &buf, sizeof(buf))) > 0) {
> > +			if (buf.pid != pid)
> > +				continue;
> > +
> > +			if (!(buf.mask & FAN_MODIFY)) {
> > +				tst_res(TFAIL, "Unexpected event %llx",
> > +					buf.mask);
> > +				continue;
> > +			}
> > +
> > +			events++;
> > +		}
> > +
> > +		if (ret < 0 && errno != EAGAIN)
> > +			tst_res(TFAIL | TERRNO, "fanotify read() failed");
> > +	}
> > +
> > +	if (events == i)
> > +		tst_res(TPASS, "Received %d events", events);
> > +	else
> > +		tst_res(TFAIL, "Received %d events, expected %d", events, i);
> > +}
> > +
> > +static void run(void)
> > +{
> > +	/*
> > +	 * Fork a child to do the actual trace writes, otherwise tracefs
> > +	 * would be busy until the current process exits and it would become
> > +	 * impossible to unmount in cleanup().
> > +	 */
> > +	if (!SAFE_FORK()) {
> > +		do_child();
> > +		SAFE_CLOSE(fan_fd);
> > +		exit(0);
> > +	}
> > +}
> > +
> > +static void cleanup(void)
> > +{
> > +	if (fan_fd >= 0)
> > +		SAFE_CLOSE(fan_fd);
> > +
> > +	if (unmount_needed)
> > +		SAFE_UMOUNT(MNTPOINT);
> > +}
> > +
> > +static struct tst_test test = {
> > +	.test_all = run,
> > +	.setup = setup,
> > +	.cleanup = cleanup,
> > +	.needs_root = 1,
> > +	.forks_child = 1,
> > +	.taint_check = TST_TAINT_W | TST_TAINT_D,
> > +	.needs_kconfigs = (const char *[]) {
> > +		"CONFIG_TRACING",
> > +		NULL
> > +	}
> > +};
> > +
> > +#else
> > +	TST_TEST_TCONF("system doesn't have required fanotify support");
> > +#endif
> > -- 
> > 2.52.0
> > 
> > 
> > -- 
> > Mailing list info: https://lists.linux.it/listinfo/ltp
> 
> -- 
> Cyril Hrubis
> chrubis@suse.cz
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs
  2026-02-20 15:47 [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs Martin Doucha
  2026-02-20 15:47 ` [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant Martin Doucha
  2026-02-20 15:47 ` [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem Martin Doucha
@ 2026-02-26 12:00 ` Andrea Cervesato via ltp
  2 siblings, 0 replies; 13+ messages in thread
From: Andrea Cervesato via ltp @ 2026-02-26 12:00 UTC (permalink / raw)
  To: ppavlu, ltp, Martin Doucha


On Fri, 20 Feb 2026 16:47:07 +0100, Martin Doucha wrote:
> Add test for reading basic fanotify events from a tracefs mount.
> The test will activate monitoring of FAN_MODIFY events from the
> whole mountpoint, create a new kprobe, activate it, deactivate it
> and remove it again. This should generate exactly 4 FAN_MODIFY events.
> 
> On some kernels with badly backported tracefs fixes, this may trigger
> NULL pointer dereference. The testcase is intentionally simple but
> sufficient to trigger this kind of bug. More complex tracing subtests
> can be added later.
> 
> [...]

Applied, thanks!

[1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant
      commit: a510fbdd2e85eb0d736a1fe498e03340d4af21fe
[2/2] Add test for fanotify monitoring of tracing filesystem
      commit: 6d941650ab4b629b3c27423edbda08597106db5f

Best regards,
-- 
Andrea Cervesato <andrea.cervesato@suse.com>


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-02-26 12:00 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-20 15:47 [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs Martin Doucha
2026-02-20 15:47 ` [LTP] [PATCH 1/2] tst_fs.h: Add TST_TRACEFS_MAGIC constant Martin Doucha
2026-02-24 13:32   ` Petr Vorel
2026-02-24 14:41   ` Andrea Cervesato via ltp
2026-02-20 15:47 ` [LTP] [PATCH 2/2] Add test for fanotify monitoring of tracing filesystem Martin Doucha
2026-02-23 16:30   ` Cyril Hrubis
2026-02-23 16:54     ` Amir Goldstein
2026-02-26 11:33     ` Jan Kara
2026-02-24 13:40   ` Petr Vorel
2026-02-24 14:06     ` Martin Doucha
2026-02-24 14:31       ` Petr Vorel
2026-02-24 14:41   ` Andrea Cervesato via ltp
2026-02-26 12:00 ` [LTP] [PATCH 0/2] Add test for fanotify monitoring of tracefs Andrea Cervesato via ltp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox