]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
powerpc: Fix program check handling when lockdep is enabled
authorMichael Ellerman <michael@ellerman.id.au>
Mon, 20 Feb 2012 21:32:30 +0000 (21:32 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 22 Feb 2012 05:48:49 +0000 (16:48 +1100)
commit922b9f86a020258d3ea3bfed27251efaed7a03a3
tree5cdb92aed142e9d96c0e38352cbc0d6cb2dd581f
parent07d2f1a54a78a648093f4f3a33aa86b03cf9e25f
powerpc: Fix program check handling when lockdep is enabled

In commit 54321242afe ("Disable interrupts early in Program Check"), we
switched from enabling to disabling interrupts in program_check_common.

Whereas ENABLE_INTS leaves r3 untouched, if lockdep is enabled DISABLE_INTS
calls into lockdep code and will clobber r3. That means we pass a bogus
struct pt_regs* into program_check_exception() and all hell breaks loose.

So load our regs pointer into r3 after we call DISABLE_INTS.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/exceptions-64s.S