diff options
| author | Michael Brown | 2008-02-13 15:58:20 +0100 |
|---|---|---|
| committer | Michael Brown | 2008-02-13 15:58:20 +0100 |
| commit | 385b7a623d33bf7a2f2f9c1f1cace57feb17082a (patch) | |
| tree | e0ce85f552e6b50f1d18b7a9178d8c689eb81b5e /src | |
| parent | If no shell was requested via Ctrl-B, exit immediately if boot fails. (diff) | |
| download | ipxe-385b7a623d33bf7a2f2f9c1f1cace57feb17082a.tar.gz ipxe-385b7a623d33bf7a2f2f9c1f1cace57feb17082a.tar.xz ipxe-385b7a623d33bf7a2f2f9c1f1cace57feb17082a.zip | |
Guard against corruption of top half of %esp during UNDI ISR
Diffstat (limited to 'src')
| -rw-r--r-- | src/arch/i386/drivers/net/undiisr.S | 3 |
1 files changed, 3 insertions, 0 deletions
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 |
