diff options
author | Li Zefan <lizf@cn.fujitsu.com> | 2010-08-23 10:50:12 +0200 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-08-31 22:46:23 +0200 |
commit | 3aaba20f26f58843e8f20611e5c0b1c06954310f (patch) | |
tree | ad15d7aa21af465ddf6091eb490d84312089f245 /kernel/watchdog.c | |
parent | perf_events: Fix time tracking for events with pid != -1 and cpu != -1 (diff) | |
download | linux-3aaba20f26f58843e8f20611e5c0b1c06954310f.tar.xz linux-3aaba20f26f58843e8f20611e5c0b1c06954310f.zip |
tracing: Fix a race in function profile
While we are reading trace_stat/functionX and someone just
disabled function_profile at that time, we can trigger this:
divide error: 0000 [#1] PREEMPT SMP
...
EIP is at function_stat_show+0x90/0x230
...
This fix just takes the ftrace_profile_lock and checks if
rec->counter is 0. If it's 0, we know the profile buffer
has been reset.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: stable@kernel.org
LKML-Reference: <4C723644.4040708@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/watchdog.c')
0 files changed, 0 insertions, 0 deletions