[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-tech
Subject:    Re: [BUG] Fix int 0x15, e820 call
From:       Daniel Dickman <didickman () gmail ! com>
Date:       2010-06-24 20:51:17
Message-ID: alpine.BSO.2.00.1006241635330.7661 () silver ! earthlink ! net
[Download RAW message or body]

> If you notice, the asm part does a "setc %b1".  And in your
> case, that would simply nuke %ecx.  The original code did not
> take into account the length returned, it ignored it as it
> was asking for the max, some biosen always return the max,
> and nothing should ever return more than what was asked for,
> or less than 20 bytes.
> 
> I don't know how this fixes any bug off hand.  The following
> diff may.  Compiled tested, but otherwise not tested.  Similar
> diff would need to be made for i386:
> 
> 

You're right. My original analysis was wrong.

ACPI 3.0 specifies that 24 bytes should be returned so until this code is 
reworked to handle that case as well, I'd say better to leave things alone 
unless something can be shown to break due to the missing size check.

Thanks for taking a look.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic