Petersson, Mats
2006-Sep-27 16:52 UTC
[Xen-devel] Fix 32-bit overflow in 64-bit Xen running 32-bit guest.
One of our clients found a problem trying to start OS/2 - we get an overflow when running a 64-bit hypervisor and 32-bit guest if the RIP is "large" - this should result in a 32-bit value that is truncated, but instead results in a 33-bit value that causes "strange" results and eventually a crash of the guest. Attached is a proposed patch that fixes the overflow. I''m not sure if it''s worth trying to #if _x86_64_ around it to avoid the extra vmcb accesses - but if that''s worth doing, there would be a bigger gain from moving this function from emulate.c into a header-file and making it inline... ;-) Comments and criticisms welcome... Patch is based on 11619. -- Mats _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel