From 385b7a623d33bf7a2f2f9c1f1cace57feb17082a Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 13 Feb 2008 14:58:20 +0000 Subject: Guard against corruption of top half of %esp during UNDI ISR --- src/arch/i386/drivers/net/undiisr.S | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/arch/i386/drivers/net/undiisr.S b/src/arch/i386/drivers/net/undiisr.S index f1c9eb15..a6c6c381 100644 --- a/src/arch/i386/drivers/net/undiisr.S +++ b/src/arch/i386/drivers/net/undiisr.S @@ -64,7 +64,10 @@ chain: /* Chain to next handler */ lcall *undiisr_next_handler exit: /* Restore registers and return */ + cli popal + movzwl %sp, %esp + addr32 movl -20(%esp), %esp /* %esp isn't restored by popal */ popfl popw %gs popw %fs -- cgit v1.2.3-55-g7522