umber-kernel/kernel/trace
Petr Pavlu 49ffdc3589 tracing: Wake up poll waiters for hist files when removing an event
[ Upstream commit 9678e53179aa7e907360f5b5b275769008a69b80 ]

The event_hist_poll() function attempts to verify whether an event file is
being removed, but this check may not occur or could be unnecessarily
delayed. This happens because hist_poll_wakeup() is currently invoked only
from event_hist_trigger() when a hist command is triggered. If the event
file is being removed, no associated hist command will be triggered and a
waiter will be woken up only after an unrelated hist command is triggered.

Fix the issue by adding a call to hist_poll_wakeup() in
remove_event_file_dir() after setting the EVENT_FILE_FL_FREED flag. This
ensures that a task polling on a hist file is woken up and receives
EPOLLERR.

Cc: stable@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://patch.msgid.link/20260219162737.314231-3-petr.pavlu@suse.com
Fixes: 1bd13edbbe ("tracing/hist: Add poll(POLLIN) support on hist file")
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2026-03-04 07:21:35 -05:00
..
rv rv: Make rtapp/pagefault monitor depends on CONFIG_MMU 2025-10-20 12:47:40 +02:00
Kconfig tracing changes for 6.17 2025-08-01 10:29:36 -07:00
Makefile tracing: Have eprobes have their own config option 2025-07-30 10:38:43 -04:00
blktrace.c Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
bpf_trace.c arm64/ftrace,bpf: Fix partial regs after bpf_prog_run 2026-03-04 07:19:41 -05:00
bpf_trace.h
error_report-traces.c
fgraph.c fgraph: Do not call handlers direct when not using ftrace_ops 2026-03-04 07:21:34 -05:00
fprobe.c tracing: fprobe: Fix to remove recorded module addresses from filter 2025-09-24 23:18:26 +09:00
ftrace.c kallsyms/ftrace: set module buildid in ftrace_mod_address_lookup() 2026-02-26 14:59:17 -08:00
ftrace_internal.h
kprobe_event_gen_test.c
pid_list.c
pid_list.h
power-traces.c PM: cpufreq: powernv/tracing: Move powernv_throttle trace event 2025-07-21 16:40:56 -04:00
preemptirq_delay_test.c kernel: trace: preemptirq_delay_test: use offstack cpu mask 2025-07-08 18:17:38 -04:00
rethook.c
ring_buffer.c tracing: ring-buffer: Fix to check event length before using 2026-03-04 07:21:34 -05:00
ring_buffer_benchmark.c
rpm-traces.c
synth_event_gen_test.c
trace.c tracing: Reset last_boot_info if ring buffer is reset 2026-03-04 07:21:28 -05:00
trace.h tracing: Fix ftrace event field alignments 2026-02-11 13:41:46 +01:00
trace_benchmark.c
trace_benchmark.h
trace_boot.c
trace_branch.c
trace_btf.c
trace_btf.h
trace_clock.c
trace_dynevent.c tracing: dynevent: Add a missing lockdown check on dynevent 2025-09-25 00:22:46 +09:00
trace_dynevent.h
trace_entries.h tracing: Fix ftrace event field alignments 2026-02-11 13:41:46 +01:00
trace_eprobe.c tracing: Have eprobes handle arrays 2025-07-24 22:57:32 +09:00
trace_event_perf.c
trace_events.c tracing: Wake up poll waiters for hist files when removing an event 2026-03-04 07:21:35 -05:00
trace_events_filter.c tracing changes for 6.17 2025-08-01 10:29:36 -07:00
trace_events_filter_test.h
trace_events_hist.c tracing: Fix checking of freed trace_event_file for hist files 2026-03-04 07:21:35 -05:00
trace_events_inject.c
trace_events_synth.c tracing: Fix crash on synthetic stacktrace field usage 2026-01-30 10:32:25 +01:00
trace_events_trigger.c tracing updates for v6.16: 2025-05-29 21:04:36 -07:00
trace_events_user.c tracing updates for v6.18: 2025-10-05 09:43:36 -07:00
trace_export.c tracing: Fix ftrace event field alignments 2026-02-11 13:41:46 +01:00
trace_fprobe.c tracing: tprobe-events: Fix to put tracepoint_user when disable the tprobe 2025-11-07 07:36:20 +09:00
trace_functions.c tracing updates for v6.16: 2025-05-29 21:04:36 -07:00
trace_functions_graph.c fgraph: Copy args in intermediate storage with entry 2025-08-22 17:32:35 -04:00
trace_hwlat.c tracing: Fix false sharing in hwlat get_sample() 2026-03-04 07:20:29 -05:00
trace_irqsoff.c tracing: Fix irqoff tracers on failure of acquiring calltime 2025-10-08 12:10:44 -04:00
trace_kdb.c ring-buffer: Remove ring_buffer_read_prepare_sync() 2025-07-22 20:01:41 -04:00
trace_kprobe.c tracing: Fix race condition in kprobe initialization causing NULL pointer dereference 2025-10-02 08:05:01 +09:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_mmiotrace.c
trace_nop.c
trace_osnoise.c tracing clean up and fixes for v6.18: 2025-10-09 12:18:22 -07:00
trace_output.c tracing: Have unsigned int function args displayed as hexadecimal 2025-08-01 19:14:51 -04:00
trace_output.h
trace_preemptirq.c
trace_printk.c
trace_probe.c Probes updates for v6.17: 2025-07-30 15:38:01 -07:00
trace_probe.h tracing: Fix race condition in kprobe initialization causing NULL pointer dereference 2025-10-02 08:05:01 +09:00
trace_probe_kernel.h
trace_probe_tmpl.h
trace_recursion_record.c
trace_sched_switch.c tracing: Ensure optimized hashing works 2025-09-30 17:27:58 -04:00
trace_sched_wakeup.c tracing: Fix wakeup tracers on failure of acquiring calltime 2025-10-08 12:10:26 -04:00
trace_selftest.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c tracing updates for v6.16: 2025-05-29 21:04:36 -07:00
trace_stat.c
trace_stat.h
trace_synth.h
trace_syscalls.c tracing: Have syscall trace events show "0x" for values greater than 10 2025-09-23 09:29:29 -04:00
trace_uprobe.c tracing: Fix race condition in kprobe initialization causing NULL pointer dereference 2025-10-02 08:05:01 +09:00
tracing_map.c tracing: Use vmalloc_array() to improve code 2025-09-23 09:31:58 -04:00
tracing_map.h