x86: be more careful when walking back the frame pointer chain
authorLinus Torvalds <torvalds@woody.osdl.org>
Fri, 17 Nov 2006 19:14:56 +0000 (11:14 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Fri, 17 Nov 2006 19:14:56 +0000 (11:14 -0800)
commit808dbbb6bb61173bf52946a28f99089d2efa4c55
tree4d221ed1e66ea09d244b248bb27998ac2efda119
parent1ff5683043196b9ad628a5de6bf8eeca52ee8bfd
x86: be more careful when walking back the frame pointer chain

When showing the stack backtrace, make sure that we never accept not
only an unchanging frame pointer, but also a frame pointer that moves
back down the stack frame.  It must always grow up (toward older stack
frames).

I doubt this has triggered, but a subtly corrupt stack with extremely
unlucky contents could cause us to loop forever on a bogus endless frame
pointer chain.

This review was triggered by much worse problems happening in some of
the other stack unwinding code.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/traps.c