From c7de8624abae3b30ccfc77236d8c48e696ab6535 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 22 Dec 2010 16:42:56 +0000 Subject: [PATCH] --- yaml --- r: 232044 b: refs/heads/master c: 06ca2188eccbd7932636ac5bde2837297800480e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/powerpc/kernel/entry_32.S | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 275f645e33b3..2684cbbf052e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3cb5f1a3e58c0bd70d47d9907cc5c65192281dee +refs/heads/master: 06ca2188eccbd7932636ac5bde2837297800480e diff --git a/trunk/arch/powerpc/kernel/entry_32.S b/trunk/arch/powerpc/kernel/entry_32.S index c22dc1ec1c94..56212bc0ab08 100644 --- a/trunk/arch/powerpc/kernel/entry_32.S +++ b/trunk/arch/powerpc/kernel/entry_32.S @@ -880,7 +880,18 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x) */ andi. r10,r9,MSR_EE beq 1f + /* + * Since the ftrace irqsoff latency trace checks CALLER_ADDR1, + * which is the stack frame here, we need to force a stack frame + * in case we came from user space. + */ + stwu r1,-32(r1) + mflr r0 + stw r0,4(r1) + stwu r1,-32(r1) bl trace_hardirqs_on + lwz r1,0(r1) + lwz r1,0(r1) lwz r9,_MSR(r1) 1: #endif /* CONFIG_TRACE_IRQFLAGS */