diff options
author | Peter Zijlstra <peterz@infradead.org> | 2022-10-04 13:20:39 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-10-04 14:32:09 +0300 |
commit | 82aad7ff7ac25c8cf09d491ae23b9823f1901486 (patch) | |
tree | 91133f2c55e578b0c8398f2e3b4c7964c1746c7a /lib | |
parent | 7be51cc1c68dfa180ef84e71bcb4204237bb5620 (diff) | |
download | linux-82aad7ff7ac25c8cf09d491ae23b9823f1901486.tar.xz |
perf/hw_breakpoint: Annotate tsk->perf_event_mutex vs ctx->mutex
Perf fuzzer gifted a lockdep splat:
perf_event_init_context()
mutex_lock(parent_ctx->mutex); (B)
inherit_task_group()
inherit_group()
inherit_event()
perf_event_alloc()
perf_try_init_event() := hw_breakpoint_event_init()
register_perf_hw_breakpoint()
mutex_lock(child->perf_event_mutex); (A)
Which is against the normal (documented) order. Now, this is a false
positive in that child is not published yet, but also inherited events
never end up on ->perf_event_list.
Annotate this one away.
Fixes: 0912037fec11 ("perf/hw_breakpoint: Reduce contention with large number of tasks")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions