diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2010-06-03 05:21:20 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-06-03 11:03:08 -0400 |
commit | c6df8d5ab87a246942d138321e1721edbb69f6e1 (patch) | |
tree | 4fa2965d148c3e7ea456ab889d278d5c16d25d17 /kernel/trace/trace_kprobe.c | |
parent | da3fd1a0010ccc9fe6fd5ae2b9e85e1aacc03e4d (diff) |
perf: Fix crash in swevents
Frederic reported that because swevents handling doesn't disable IRQs
anymore, we can get a recursion of perf_adjust_period(), once from
overflow handling and once from the tick.
If both call ->disable, we get a double hlist_del_rcu() and trigger
a LIST_POISON2 dereference.
Since we don't actually need to stop/start a swevent to re-programm
the hardware (lack of hardware to program), simply nop out these
callbacks for the swevent pmu.
Reported-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1275557609.27810.35218.camel@twins>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace_kprobe.c')
0 files changed, 0 insertions, 0 deletions