summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-09-08 00:00:11 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-09-08 00:00:11 +0400
commitb0fb422281c8c09c8dcf03ca44ec343f0ff9df0b (patch)
tree85866700657ec97d8eae343146dd61519771f699 /arch
parent54d6d5374491387eafe7f6e05e065232071cc4f0 (diff)
parent20afc60f892d285fde179ead4b24e6a7938c2f1b (diff)
downloadlinux-b0fb422281c8c09c8dcf03ca44ec343f0ff9df0b.tar.xz
Merge branch 'perf-fixes-for-linus' of git://tesla.tglx.de/git/linux-2.6-tip
* 'perf-fixes-for-linus' of git://tesla.tglx.de/git/linux-2.6-tip: x86, perf: Check that current->mm is alive before getting user callchain perf_event: Fix broken calc_timer_values() perf events: Fix slow and broken cgroup context switch code
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/cpu/perf_event.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 4ee3abf20ed6..cfa62ec090ec 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -1900,6 +1900,9 @@ perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs)
perf_callchain_store(entry, regs->ip);
+ if (!current->mm)
+ return;
+
if (perf_callchain_user32(regs, entry))
return;