summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2026-09-10 20:46:09 +0000
committerJakub Kicinski <kuba@kernel.org>2026-09-15 17:58:34 -0700
commit6a038ef2b57922b6d9ca98ddac0df0681849b704 (patch)
treed4763fcf151755b5f9b9db41d2ebb3ef15d285d3 /tools/perf/scripts/python
parent455ebeadf714f51e1dbbd6a022c74c9215b1cd76 (diff)
downloadlinux-6a038ef2b57922b6d9ca98ddac0df0681849b704.tar.gz
linux-6a038ef2b57922b6d9ca98ddac0df0681849b704.zip
drop_monitor: synchronize tracepoint unregistration on error path
If register_trace_napi_poll() fails in net_dm_trace_on_set(), unregister_trace_kfree_skb() is called to roll back the kfree_skb tracepoint registration. However, tracepoint_synchronize_unregister() is omitted before calling cancel_work_sync() and module_put(). An in-flight probe executing concurrently on another CPU could call schedule_work() after cancel_work_sync() has already returned, leaving a pending work item scheduled after the module reference is dropped. If the module is then unloaded, executing the work item triggers a kernel panic. Add tracepoint_synchronize_unregister() after unregister_trace_kfree_skb() in the error path, matching net_dm_trace_off_set() and net_dm_hw_probe_unregister(). Fixes: 7c747838a558 ("drop_monitor: Split tracing enable / disable to different functions") Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Hangbin Liu <liuhangbin@kylinos.cn> Link: https://patch.msgid.link/20260910204612.3762015-2-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions