Re: [PATCH] Sometimes, there is OOPS happened when we use oprofile.

From: H. Peter Anvin
Date: Wed Oct 31 2012 - 17:33:25 EST


On 10/31/2012 02:05 PM, Robert Richter wrote:
Jun,

On 29.10.12 02:33:54, Zhang, Jun wrote:
Sometimes, there is OOPS happened when we use oprofile. next
is the call stack. From call stack, we find in
call_on_stack if there is a nmi interrupt between "xchgl
%%ebx,%%esp" and "call *%%edi", system will OOPS.

this should be related and fixed with:

https://lkml.org/lkml/2012/9/12/269

Ingo, HPA,

please apply the fix of kernel_stack_pointer().


I'm vaguely concerned about the following:

+ * To always return a non-null
+ * stack pointer we fall back to regs as stack if no previous stack
+ * exists.

The logic being that if there is no stack pointer and the stack is too empty, to simply assume regs point to the top of the stack? Is this possible to ever be actually seen?

-hpa


--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

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