Messages in this thread Patch in this message | | | Date | Mon, 23 Feb 2009 19:13:07 +0300 | From | Stas Sergeev <> | Subject | [patch] small fix to espfix code |
| |
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> --- 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) | |