Sfoglia il codice sorgente

Guard against corruption of top half of %esp during UNDI ISR

tags/v0.9.3
Michael Brown 17 anni fa
parent
commit
385b7a623d
1 ha cambiato i file con 3 aggiunte e 0 eliminazioni
  1. 3
    0
      src/arch/i386/drivers/net/undiisr.S

+ 3
- 0
src/arch/i386/drivers/net/undiisr.S Vedi File

@@ -64,7 +64,10 @@ chain:	/* Chain to next handler */
64 64
 	lcall	*undiisr_next_handler
65 65
 	
66 66
 exit:	/* Restore registers and return */
67
+	cli
67 68
 	popal
69
+	movzwl	%sp, %esp
70
+	addr32	movl -20(%esp), %esp	/* %esp isn't restored by popal */
68 71
 	popfl
69 72
 	popw	%gs
70 73
 	popw	%fs

Loading…
Annulla
Salva