aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/irqflags_32.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2007-10-11 22:11:12 +0200
committerPeter Zijlstra <a.p.zijlstra@chello.nl>2007-10-11 22:11:12 +0200
commitc7e872e7da5514d014707a407ea562d197cc0136 (patch)
treeeab8cc63a0ef14afbaa9b61153f30f7ed1a94e6f /include/asm-x86/irqflags_32.h
parentlockdep: syscall exit check (diff)
downloadlinux-dev-c7e872e7da5514d014707a407ea562d197cc0136.tar.xz
linux-dev-c7e872e7da5514d014707a407ea562d197cc0136.zip
lockdep: i386: connect the sysexit hook
Run the lockdep_sys_exit hook after all other C code on the syscall return path. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/irqflags_32.h')
-rw-r--r--include/asm-x86/irqflags_32.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asm-x86/irqflags_32.h b/include/asm-x86/irqflags_32.h
index eff8585cb741..d058b04e0083 100644
--- a/include/asm-x86/irqflags_32.h
+++ b/include/asm-x86/irqflags_32.h
@@ -160,4 +160,17 @@ static inline int raw_irqs_disabled(void)
# define TRACE_IRQS_OFF
#endif
+#ifdef CONFIG_DEBUG_LOCK_ALLOC
+# define LOCKDEP_SYS_EXIT \
+ pushl %eax; \
+ pushl %ecx; \
+ pushl %edx; \
+ call lockdep_sys_exit; \
+ popl %edx; \
+ popl %ecx; \
+ popl %eax;
+#else
+# define LOCKDEP_SYS_EXIT
+#endif
+
#endif