summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2026-08-14 20:03:38 -0400
committerSteven Rostedt <rostedt@goodmis.org>2026-08-14 20:03:38 -0400
commit3df3ae98c30c249c4bbf3d74559cc6972898052c (patch)
tree52b5e9fb1e5939794db7d7f8cb44f1535d798cb3
parentf40f5a97f50fe02512229f8fb6a4f6ef54a80254 (diff)
parent43a17abc83c6402bffac80a6dd434f8555f457e8 (diff)
downloadlinux-next-3df3ae98c30c249c4bbf3d74559cc6972898052c.tar.gz
linux-next-3df3ae98c30c249c4bbf3d74559cc6972898052c.zip
Merge tracefs/for-next
-rw-r--r--fs/tracefs/event_inode.c4
-rw-r--r--kernel/trace/trace_events.c13
2 files changed, 11 insertions, 6 deletions
diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c
index a52458435327..604ba3e841d2 100644
--- a/fs/tracefs/event_inode.c
+++ b/fs/tracefs/event_inode.c
@@ -594,6 +594,10 @@ static int eventfs_iterate(struct file *file, struct dir_context *ctx)
if (!(ti->flags & TRACEFS_EVENT_INODE))
return -EINVAL;
+ /* Logic should prevent ctx->pos from going out of range */
+ if (WARN_ON_ONCE(ctx->pos < 2 || ctx->pos > 0x7fffffffULL))
+ return -EINVAL;
+
c = ctx->pos - 2;
guard(srcu)(&eventfs_srcu);
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index f716f501686b..9a082a82a98a 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -3296,6 +3296,13 @@ event_create_dir(struct eventfs_inode *parent, struct trace_event_file *file)
if (WARN_ON_ONCE(strcmp(call->class->system, TRACE_SYSTEM) == 0))
return -ENODEV;
+ ret = event_define_fields(call);
+ if (ret < 0) {
+ pr_warn("Could not initialize trace point events/%s\n",
+ trace_event_name(call));
+ return ret;
+ }
+
e_events = event_subsystem_dir(tr, call->class->system, file, parent);
if (!e_events)
return -ENOMEM;
@@ -3314,12 +3321,6 @@ event_create_dir(struct eventfs_inode *parent, struct trace_event_file *file)
file->ei = ei;
- ret = event_define_fields(call);
- if (ret < 0) {
- pr_warn("Could not initialize trace point events/%s\n", name);
- return ret;
- }
-
/* Gets decremented on freeing of the "enable" file */
event_file_get(file);