Messages in this thread | | | Date | Mon, 31 Jul 2006 22:24:47 -0400 | From | Chuck Ebbert <> | Subject | + espfix-code-cleanup.patch added to -mm tree |
| |
In-Reply-To: <200607300016.k6U0GYu4023664@shell0.pdx.osdl.net>
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |