diff options
author | Li Zefan <lizf@cn.fujitsu.com> | 2010-08-23 16:50:12 +0800 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-08-31 16:46:23 -0400 |
commit | 3aaba20f26f58843e8f20611e5c0b1c06954310f (patch) | |
tree | ad15d7aa21af465ddf6091eb490d84312089f245 /kernel/watchdog.c | |
parent | fa66f07aa1f0950e1dc78b7ab39728b3f8aa77a1 (diff) | |
download | linux-3aaba20f26f58843e8f20611e5c0b1c06954310f.tar.gz linux-3aaba20f26f58843e8f20611e5c0b1c06954310f.tar.bz2 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