Thread (15 messages) 15 messages, 4 authors, 2011-08-31

Re: [v3 PATCH 1/1] booke/kprobe: make program exception to use one dedicated exception stack

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2011-08-30 05:44:38

quoted
As I understand it, the problem comes from the fact that stwu combines the
creation of a stack frame with storing into that stack frame.  If they were
Yes.
quoted
separate instructions you'd have a new exception frame at a lower address
by the time you actually store to the non-exception frame.
So when kprobe we should use a unique stack frame to skip that stack frame the
kprobed stwu want to create.
I still don't like that patch. Potentially the problem exist for all
variants of powerpc, not just booke, and I'm not sure I like adding yet
another exception stack.

Another (non-great) approach would be to special case stwu to the stack,
and instead of doing the store while emulating the instruction, keep the
store address around and do it later, after the stack has been unwound,
in the exit path (a TIF flag to hit the slow path and then do it in the
slow path).

It sounds hackish but it makes it easier to fix everybody at once, there
are "issues" with changing stacks especially on ppc64 and it would
definitely be affected as well if the stack frame created is larger than
our gap.

Cheers,
Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help