quoted hunk ↗ jump to hunk
diff --git a/kernel/trace/trace_dynevent.c b/kernel/trace/trace_dynevent.c
index c4dfbc293bae..9e076106bee7 100644
--- a/kernel/trace/trace_dynevent.c
+++ b/kernel/trace/trace_dynevent.c
[ ... ]
quoted hunk ↗ jump to hunk
@@ -100,7 +100,7 @@ int dyn_event_release(const char *raw_command, struct dyn_event_operations *type
return -EINVAL;
mutex_lock(&event_mutex);
- for_each_dyn_event_safe(pos, n) {
+ for_each_dyn_event_safe(pos) {
if (type && type != pos->ops)
continue;
if (!pos->ops->match(system, event,
Does this leave the variable n unused? Looking at the function
declaration around line 74, it still has:
struct dyn_event *pos, *n;
but after this change n is no longer passed to for_each_dyn_event_safe().
The macro now hides the temporary cursor internally, so n appears to be
dead code. This would trigger -Wunused-variable warnings and break builds
with CONFIG_WERROR=y.
For comparison, the sibling change at line 219 (dyn_events_release_all)
correctly removed the *tmp variable from its declaration.
quoted hunk ↗ jump to hunk
diff --git a/kernel/trace/trace_dynevent.h b/kernel/trace/trace_dynevent.h
index beee3f8d7544..a4dc0812284f 100644
--- a/kernel/trace/trace_dynevent.h
+++ b/kernel/trace/trace_dynevent.h
@@ -115,10 +115,9 @@ int dyn_event_create(const char *raw_command, struct dyn_event_operations *type)
/*
* for_each_dyn_event - iterate over the dyn_event list safely
* @pos: the struct dyn_event * to use as a loop cursor
- * @n: the struct dyn_event * to use as temporary storage
*/
-#define for_each_dyn_event_safe(pos, n) \
- list_for_each_entry_safe(pos, n, &dyn_event_list, list)
+#define for_each_dyn_event_safe(pos) \
+ list_for_each_entry_mutable(pos, &dyn_event_list, list)
---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md
CI run summary: https://github.com/kernel-patches/bpf/actions/runs/27930295027