From: Frederic Weisbecker on
On Wed, Mar 17, 2010 at 12:07:16PM +0200, T�r�k Edwin wrote:
> When profiling a 32-bit process on a 64-bit kernel, callgraph tracing
> stopped after the first function, because it has seen a garbage memory address
> (tried to interpret the frame pointer, and return address as a 64-bit pointer).
>
> Fix this by using a struct stack_frame with 32-bit pointers when the TIF_IA32 flag is set.
>
> Note that TIF_IA32 flag must be used, and not is_compat_task(), because the
> latter is only set when the 32-bit process is executing a syscall,
> which may not always be the case (when tracing page fault events for example).
>
> Cc: "H. Peter Anvin" <hpa(a)zytor.com>
> Cc: Frederic Weisbecker <fweisbec(a)gmail.com>
> Cc: Ingo Molnar <mingo(a)redhat.com>
> Cc: Thomas Gleixner <tglx(a)linutronix.de>
> Cc: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
> Cc: Paul Mackerras <paulus(a)samba.org>
> Cc: x86(a)kernel.org
> Cc: linux-kernel(a)vger.kernel.org
> Signed-off-by: T�r�k Edwin <edwintorok(a)gmail.com>


Queued, thanks!

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/