x86, mm: fault.c, unify oops handling
authorIngo Molnar <mingo@elte.hu>
Fri, 20 Feb 2009 22:07:48 +0000 (23:07 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 20 Feb 2009 23:09:44 +0000 (00:09 +0100)
commit1cc99544dde9e48602979f16b9309fade6e93051
tree034a5a92f899b0e9cbcddce136f2243bc3617a1a
parent8f7661496cece8320137d5e26808825498fd2b26
x86, mm: fault.c, unify oops handling

Impact: add oops-recursion check to 32-bit

Unify the oops state-machine, to the 64-bit version. It is
slightly more careful in that it does a recursion check
in oops_begin(), and is thus more likely to show the relevant
oops.

It also means that 32-bit will print one more line at the
end of pagefault triggered oopses:

  printk(KERN_EMERG "CR2: %016lx\n", address);

Which is generally good information to be seen in partial-dump
digital-camera jpegs ;-)

The downside is the somewhat more complex critical path. Both
variants have been tested well meanwhile by kernel developers
crashing their boxes so i dont think this is a practical worry.

This removes 3 ugly #ifdefs from no_context() and makes the
function a lot nicer read.

Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/fault.c