]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH
authorAnton Blanchard <anton@samba.org>
Mon, 13 Apr 2015 21:51:03 +0000 (07:51 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 14 Apr 2015 06:21:16 +0000 (16:21 +1000)
We cap 32bit userspace backtraces to PERF_MAX_STACK_DEPTH
(currently 127), but we forgot to do the same for 64bit backtraces.

Cc: stable@vger.kernel.org
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/perf/callchain.c

index 2396dda282cdef0ed5c11c6ab7c3f4f479d0ac04..ead55351b2542accc663c496be8592b9c3942b08 100644 (file)
@@ -243,7 +243,7 @@ static void perf_callchain_user_64(struct perf_callchain_entry *entry,
        sp = regs->gpr[1];
        perf_callchain_store(entry, next_ip);
 
-       for (;;) {
+       while (entry->nr < PERF_MAX_STACK_DEPTH) {
                fp = (unsigned long __user *) sp;
                if (!valid_user_sp(sp, 1) || read_user_stack_64(fp, &next_sp))
                        return;