[PATCH] tracefs: Fix tracefs_dynevent_destroy_all()
Steven Rostedt <[email protected]> Thu, 23 Apr 2026 16:20:54 -0400
| Newsgroups | org.kernel.vger.linux-trace-devel |
|---|---|
| Message-ID | <[email protected]> |
From: Steven Rostedt <[email protected]> There was a regression with tracefs_dynevent_destroy_all() where removing kprobes (or other dynamic events) if it checks another event that doesn't exist, it returns zero and not the current count. Then the "all" clearing thinks it didn't find any events and returns without doing anything. Have get_dynevent() return the current counter if it doesn't find events and even if the tested for event file doesn't exist. As that tested file may not be the dynamic event we are interested in. Reported-by: Metin Kaya <[email protected]> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221395 Fixes: 78d8d2e277af2 ("libtracefs: Have tracefs_dynevent_get_all() find kprobes and uprobes properly") Signed-off-by: Steven Rostedt <[email protected]> --- src/tracefs-dynevents.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tracefs-dynevents.c b/src/tracefs-dynevents.c index 5fdb723b6825..ad879ecbbc68 100644 --- a/src/tracefs-dynevents.c +++ b/src/tracefs-dynevents.c @@ -499,12 +499,12 @@ static int get_dynevent(enum tracefs_dynevent_type type, const char *system, return -1; if (!tracefs_file_exists(NULL, desc->file)) - return -1; + return count; content = tracefs_instance_file_read(NULL, desc->file, NULL); /* File exists, but may be empty */ if (!content) - return 0; + return count; if (ret_all) all = *ret_all; -- 2.53.0