aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/fault_32.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2007-10-25 14:01:10 +0200
committerPeter Zijlstra <a.p.zijlstra@chello.nl>2007-10-25 14:01:10 +0200
commit143a5d325d35efb1b29dcb8d6031cf27107e183a (patch)
treedef297c7608722df2b5a51e5e6acaacb1aeb1f97 /arch/x86/mm/fault_32.c
parentLinux 2.6.24-rc1 (diff)
downloadlinux-dev-143a5d325d35efb1b29dcb8d6031cf27107e183a.tar.xz
linux-dev-143a5d325d35efb1b29dcb8d6031cf27107e183a.zip
lockdep: fixup irq tracing
Ensure we fixup the IRQ state before we hit any locking code. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm/fault_32.c')
-rw-r--r--arch/x86/mm/fault_32.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/mm/fault_32.c b/arch/x86/mm/fault_32.c
index 503dfc05111b..2e542e89a3e2 100644
--- a/arch/x86/mm/fault_32.c
+++ b/arch/x86/mm/fault_32.c
@@ -303,6 +303,11 @@ fastcall void __kprobes do_page_fault(struct pt_regs *regs,
int write, si_code;
int fault;
+ /*
+ * We can fault from pretty much anywhere, with unknown IRQ state.
+ */
+ trace_hardirqs_fixup();
+
/* get the address */
address = read_cr2();