[PATCH 5/6] perf/core: Return errors from perf_report_aux_output_id()

From: James Clark

Date: Fri Aug 21 2026 - 06:04:33 EST


It's useful to know if this failed or not so a retry can be attempted
later. Return the error code or success.

Signed-off-by: James Clark <james.clark@xxxxxxxxxx>
---
include/linux/perf_event.h | 2 +-
kernel/events/core.c | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 48d851fbd8ea..01d318a4de50 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1896,7 +1896,7 @@ static inline struct fasync_struct **perf_event_fasync(struct perf_event *event)
}

extern void perf_event_addr_filters_sync(struct perf_event *event);
-extern void perf_report_aux_output_id(struct perf_event *event, u64 hw_id);
+extern int perf_report_aux_output_id(struct perf_event *event, u64 hw_id);

extern int perf_output_begin(struct perf_output_handle *handle,
struct perf_sample_data *data,
diff --git a/kernel/events/core.c b/kernel/events/core.c
index ba5bd6a78fe7..bcdc9e7d2637 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -10565,7 +10565,7 @@ static void perf_log_itrace_start(struct perf_event *event)
perf_output_end(&handle);
}

-void perf_report_aux_output_id(struct perf_event *event, u64 hw_id)
+int perf_report_aux_output_id(struct perf_event *event, u64 hw_id)
{
struct perf_output_handle handle;
struct perf_sample_data sample;
@@ -10587,12 +10587,14 @@ void perf_report_aux_output_id(struct perf_event *event, u64 hw_id)
ret = perf_output_begin(&handle, &sample, event, rec.header.size);

if (ret)
- return;
+ return ret;

perf_output_put(&handle, rec);
perf_event__output_id_sample(event, &handle, &sample);

perf_output_end(&handle);
+
+ return 0;
}
EXPORT_SYMBOL_GPL(perf_report_aux_output_id);


--
2.43.0