[gPXE] [Qemu-devel] Stack corruption problem with SeaBIOS/gPXE under QEMU

Alexander Graf agraf at suse.de
Wed Nov 18 04:49:37 EST 2009


On 18.11.2009, at 10:39, Gleb Natapov wrote:

> On Mon, Nov 16, 2009 at 09:26:20PM -0500, Kevin O'Connor wrote:
>> On Mon, Nov 16, 2009 at 04:02:20PM +0200, Avi Kivity wrote:
>>>> Something that is likely related, I am seeing reboot failures in
>>>> seabios's pmm_free.  Immediately after loading gpxe, seabios is  
>>>> in an
>>>> endless loop there, likely due to memory corruption.
>>>>
>>>> This is with -smp 2, rebooting Fedora 9 after installation.
>>>
>>> With gpxe disabled, rebooting works as expected.
>>>
>>> Note the tests were performed with the stack at 64K to avoid  
>>> triggering
>>> the known issue.
>>
>> Hi Avi,
>>
>> Can you send the full qemu command line that you used?  I can't seem
>> to reproduce this on my setup.
>>
>> I do see an issue if SeaBIOS's reboot vector is called (eg, by using
>> "sendkey ctrl-alt-delete" while still in the bios) because seabios
>> allows gpxe to modify itself, and on a seabios only reboot the gpxe
>> rom isn't recopied and gpxe therefore gets confused.  However, on a
>> linux invoked reboot, it looks like a full machine reset occurs and
>> qemu recopies the gpxe rom, so that doesn't seem to be an issue.
>>
> Do we have the same problem with tpr patching rom (vapic,bin)? It  
> modifies
> itself too.

Are you sure vapic.bin still works with SeaBIOS? I've had to modify  
the multiboot and linuxboot code to write to the stack because the  
code section of the option rom was read only.

Alex


More information about the gPXE mailing list