+ espfix-code-cleanup.patch added to -mm tree

From: Chuck Ebbert
Date: Mon Jul 31 2006 - 22:25:56 EST


In-Reply-To: <200607300016.k6U0GYu4023664@xxxxxxxxxxxxxxxxxxx>

On Sat, 29 Jul 2006 17:16:34 -0700, Andrew Morton wrote:

> espfix-code-cleanup.patch

After the fixup code does this:

movl %esp, %eax # pt_regs pointer
movl %esp, %edx
call patch_espfix_gdt
pushl $__ESPFIX_SS
CFI_ADJUST_CFA_OFFSET 4
pushl %eax
CFI_ADJUST_CFA_OFFSET 4
==> lss (%esp), %esp
CFI_ADJUST_CFA_OFFSET -8
jmp restore_nocheck

we are on a ring0 32-bit stack that's not zero-based. If an exception
occurs in that state, UNWIND_ESPFIX_STACK restores the proper kernel
SS and ESP but on return from the exception nothing restores the espfix
stack. I guess this isn't a problem now because exceptions in kernel
mode are fatal but a kernel debugger might have problems here?

--
Chuck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/