aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/perf_event.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/perf_event.c')
-rw-r--r--kernel/perf_event.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 02efde6c8798..615d024894cf 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -2969,6 +2969,7 @@ static struct perf_callchain_entry *perf_callchain(struct pt_regs *regs)
2969 entry->nr = 0; 2969 entry->nr = 0;
2970 2970
2971 if (!user_mode(regs)) { 2971 if (!user_mode(regs)) {
2972 perf_callchain_store(entry, PERF_CONTEXT_KERNEL);
2972 perf_callchain_kernel(entry, regs); 2973 perf_callchain_kernel(entry, regs);
2973 if (current->mm) 2974 if (current->mm)
2974 regs = task_pt_regs(current); 2975 regs = task_pt_regs(current);
@@ -2976,8 +2977,10 @@ static struct perf_callchain_entry *perf_callchain(struct pt_regs *regs)
2976 regs = NULL; 2977 regs = NULL;
2977 } 2978 }
2978 2979
2979 if (regs) 2980 if (regs) {
2981 perf_callchain_store(entry, PERF_CONTEXT_USER);
2980 perf_callchain_user(entry, regs); 2982 perf_callchain_user(entry, regs);
2983 }
2981 2984
2982 return entry; 2985 return entry;
2983} 2986}