patch-2.1.37 linux/arch/i386/lib/locks.S

Next file: linux/arch/i386/lib/semaphore.S
Previous file: linux/arch/i386/kernel/vm86.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.36/linux/arch/i386/lib/locks.S linux/arch/i386/lib/locks.S
@@ -10,7 +10,6 @@
 	 * %eax contains callers PC and %edx holds this cpu ID.
 	 */
 ENTRY(__lock_kernel)
-	pushl	%eax		! return address
 1:
 	lock
 	btsl	$0, SYMBOL_NAME(kernel_flag)
@@ -21,8 +20,10 @@
 	lock
 	btrl	%dl, SYMBOL_NAME(smp_invalidate_needed)
 	jnc	0f
+	pushl	%eax
 	movl	%cr3, %eax
 	movl	%eax, %cr3
+	popl	%eax
 0:
 	btl	$0, SYMBOL_NAME(kernel_flag)
 	jc	2b

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov