pfranz73 at tiscali.it
2009-Apr-24 20:13 UTC
[syslinux] Bugs in pxelinux.asm - syslinux 3.75
In pxelinux.asm the xchg instruction in xchg ax,ax . data_on_top: should be xchg ax,dx, I think At the end of pxe_get_cached_info routine,there is and ax,ax jnz .err It is supposed to test for AX status, but since pxenv does pushad and popad, AX doesn't contain status. In fact the other routines calling pxenv don't have this bug. pxe_unload seems to be never called; if so, also RealBaseMem is unused. According to the specification, pxe_unload_stack_pkt.reserved are 10 bytes, not 10 words
pfranz73 at tiscali.it wrote:> In pxelinux.asm > the xchg instruction in > > xchg ax,ax > . > data_on_top: > > should be xchg ax,dx, I think > At the end of > pxe_get_cached_info routine,there is > and ax,ax > > jnz .err > It is supposed to test for AX status, but > since pxenv does pushad and popad, AX doesn't contain status. In fact > the other routines calling pxenv don't have this bug. > pxe_unload seems > to be never called; if so, also RealBaseMem is unused. > According to the > specification, pxe_unload_stack_pkt.reserved are 10 bytes, not 10 words >unload_pxe is called via the UNLOAD_PREP macro as well as from comboot.inc. The other issues are valid, of course. -hpa