public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] small fix to espfix code
@ 2009-02-23 16:13 Stas Sergeev
  2009-02-23 18:32 ` H. Peter Anvin
  0 siblings, 1 reply; 2+ messages in thread
From: Stas Sergeev @ 2009-02-23 16:13 UTC (permalink / raw)
  To: Linux kernel; +Cc: Andrew Morton, Zachary Amsden, Chuck Ebbert

[-- Attachment #1: Type: text/plain, Size: 846 bytes --]

Hi.

The attached patch fixes a tiny
bug introduced by this patch:
http://lkml.org/lkml/2006/9/30/134
The patch was changing the espfix
stack to be 32bit instead of 16bit,
but this place seems to have been
overlooked.
The code was like this:
---
  	pushl %esp
  	movzwl %sp, %esp
  	addw $4, (%esp)
---
and the patch did:
---
  	pushl %esp
  	CFI_ADJUST_CFA_OFFSET 4
-	movzwl %sp, %esp
  	addw $4, (%esp)
---
but the addw was forgotten to adjust.

The bug is mostly theoretical, I can't
really test the effect of this patch.
So, it is completely untested.

---
Fix tiny bug in the espfix NMI handling
code. The bug was inroduced by this patch:
http://lkml.org/lkml/2006/9/30/134
and can practically never be triggered.

Signed-off-by: Stas Sergeev <stsp@aknet.ru>
CC: Zachary Amsden <zach@vmware.com>
CC: Chuck Ebbert <76306.1226@compuserve.com>

[-- Attachment #2: espfix.diff --]
[-- Type: text/x-patch, Size: 326 bytes --]

--- a/arch/x86/kernel/entry_32.S	2009-01-10 21:03:16.000000000 +0300
+++ b/arch/x86/kernel/entry_32.S	2009-02-15 22:34:23.000000000 +0300
@@ -881,7 +881,7 @@
 	CFI_ADJUST_CFA_OFFSET 4
 	pushl %esp
 	CFI_ADJUST_CFA_OFFSET 4
-	addw $4, (%esp)
+	addl $4, (%esp)
 	/* copy the iret frame of 12 bytes */
 	.rept 3
 	pushl 16(%esp)

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-02-23 18:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-23 16:13 [patch] small fix to espfix code Stas Sergeev
2009-02-23 18:32 ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox