https://bugzilla.novell.com/show_bug.cgi?id=639756 https://bugzilla.novell.com/show_bug.cgi?id=639756#c0 Summary: mis-compilation of kernel-xen code Classification: openSUSE Product: openSUSE 11.3 Version: Final Platform: i686 OS/Version: openSUSE 11.3 Status: NEW Severity: Major Priority: P5 - None Component: Development AssignedTo: pth@novell.com ReportedBy: jbeulich@novell.com QAContact: qa@suse.de Found By: Development Blocker: --- Created an attachment (id=389930) --> (http://bugzilla.novell.com/attachment.cgi?id=389930) pre-processed source of the affected file The Xen version of __change_page_attr() gets mis-compiled (also with plain 4.5.0, but not with plain 4.5.1) by means of corrupting the input to cmpxchg8b: C001B4C9 mov ecx, [esp+14] C001B4CD mov ebx, [esp+0C] C001B4D1 mov edi, [esp+08] C001B4D5 mov [esp+30], ecx C001B4D9 mov [esp+34], ebx C001B4DD !!! mov ecx, ebx C001B4DF mov eax, [edi] C001B4E1 mov edx, [edi+04] C001B4E4 *** lock cmpxchg8b [edi] C001B4E8 jne C001B4DF leading to a crash at the instruction marked with *** (see bug 638803). While re-work of the set_64bit() function in the kernel (in 2.6.34.6) results in the problem no longer being exhibited, it is clear that it may get exposed at any time again if the compiler doesn't get fixed. Possibly related to bug 636118, which is also reported as ix86 only (other than the upstream bug referenced there). Attaching full pre-processed source, to be compiled with -Wall -fno-strict-aliasing -fno-common -fno-delete-null-pointer-checks -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -ffreestanding -Wno-sign-compare -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -fomit-frame-pointer -fasynchronous-unwind-tables -fno-inline-functions-called-once -O2 -c. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.