[syslinux] Question about vk_check and rllunpack

H. Peter Anvin hpa at zytor.com
Mon Apr 27 15:55:44 PDT 2009


Sebastian Herbszt wrote:
> 
> ;
> ; rllunpack:
> ;       Unpack bytes from SI into EDI
> ;       On return (E)SI, EDI are updated and
> ;       (E)CX contains number of bytes output.
> ;
> rllunpack:
>                push word .pmentry
>                call simple_pm_call
>                ret
> 
>                bits 32
> .pmentry:
>                push edi
>                movzx esi,si
>                xor ecx,ecx
> 
> It looks to me like rllunpack does trash esi value (upper part), the 
> check at vk_check.scan succeeds
> and we jump to vk_check.not_vk.
> In my test i got esi before rllunpack (0x3fece980) and after it's 
> 0x0000e97f.
> 
> Am i missing something?
> 

Count me confused.  I wonder how that could ever not have completely 
screwed over the system!

Could you try this patch and see if it works for you (although perhaps 
the right thing is to make the caller responsible for zero-extending 
pointers if necessary...)?

	-hpa

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20090427/31753b9a/attachment.ksh>


More information about the Syslinux mailing list