[syslinux] syslinux 3.11/3.20-pre initrd loading bug

Steffen Winterfeldt wfeldt at suse.de
Mon Jun 19 07:47:48 PDT 2006


If you load more than one initrd syslinux doesn't clear the memory between
them. Or rather, the code for it does not work. The patch below fixes it.


Steffen

--- loadhigh.inc
+++ loadhigh.inc
@@ -65,7 +65,10 @@
 		push edi			; <C> Target buffer
 		mov cx,ax
 		xor bx,bx			; ES:0
+		push dx
 		call getfssec			; Load the data into xfer_buf_seg
+						; getfssec destroys dx!
+		pop dx
 		pop edi				; <C> Target buffer
 		pop ecx				; <B> Byte count this round
 		push ecx			; <B> Byte count this round




More information about the Syslinux mailing list