[vbox-dev] vhd format not stable?
huisinro at yahoo.com
Mon Jun 22 08:59:05 PDT 2009
Right, that would be the correct fix.
I was wondering if there are other places that have similar issues. This problem would be very rare in happening, as the memory address would be still ok to be read even if it's less then DWORD in len.
Inside kernel mode, this becomes a severe problem, throwing invalid memory access crashes.
--- On Mon, 6/22/09, Frank Mehnert <Frank.Mehnert at Sun.COM> wrote:
From: Frank Mehnert <Frank.Mehnert at Sun.COM>
Subject: Re: [vbox-dev] vhd format not stable?
To: vbox-dev at virtualbox.org
Date: Monday, June 22, 2009, 3:30 AM
On Friday 19 June 2009, Huihong Luo wrote:
> I tested it again, but it still crashed.
> I think I now found the cause, it's quite delicate, but you should be able
> to fix it right away.
> a8bd6ffd ff ff ff ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
> The above is the bitmap when crashed. You can see the beginnig there are
> only 3 bytes are valid, the 4th byte will cause crash.
> But when you call
> ASMBitTest(const volatile void *pvBitmap, int32_t iBit)
> it will the 1st 4-byte int, thus caused the crash.
> The easiest fix is to allocate 8 byte length more for the bitmap, and zero
> fill them, that will definitely solve the issue. You can also change
> ASMBitTest method impl.
I think a better fix would be to ensure that ASMBitTest isn't called
with non-word-aligned memory addresses.
Dr.-Ing. Frank Mehnert Sun Microsystems, Inc. www.sun.com
-----Inline Attachment Follows-----
vbox-dev mailing list
vbox-dev at virtualbox.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vbox-dev