[Bug 545206] New: Triple fault after reloading %cr3 in "identity_mapped" during kernel relocation
http://bugzilla.novell.com/show_bug.cgi?id=545206 Summary: Triple fault after reloading %cr3 in "identity_mapped" during kernel relocation Classification: openSUSE Product: openSUSE 11.2 Version: Milestone 8 Platform: x86-64 OS/Version: SuSE Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel AssignedTo: kernel-maintainers@forge.provo.novell.com ReportedBy: jmattson@vmware.com QAContact: qa@suse.de Found By: --- User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22pre) Gecko/20081213 SUSE/2.0.0.21post-0.1 Firefox/2.0.0.22pre After installation, rebooting the system results in a triple fault.
From the mainline Linux sources, "relocate_kernel" establishes %r9 as the identity mapped page table root, and "identity_mapped" expects %r9 to still contain the identity mapped page table root for reloading %cr3. However, SuSE has added code to setup the GDT, and this code clobbers %r9. With the bogus %cr3 value loaded, the next instruction fetch results in a triple fault.
In the milestone 8 kernel sources, see arch/x86/kernel/relocate_kernel_64.S: 91: /* Switch to the identity mapped page tables */ 92: movq %r9, %cr3 .. 99: /* setup gdt */ 100: movq %r8, %rax 101: addq $(gdt - relocate_kernel), %rax 102: movq %r8, %r9 103: addq $((gdt_80 - relocate_kernel) + 2), %r9 104: movq %rax, (%r9) .. 156: /* Flush the TLB (needed?) */ 157: movq %r9, %cr3 Reproducible: Always Steps to Reproduce: 1. Install OpenSuSE 11.2 M8. Actual Results: When the system reboots at the end of the installation, it will triple fault. You may not notice, as the chipset will likely respond to the CPU shutdown by rebooting the system. Expected Results: The system should reboot "normally," and not as the result of a triple fault. This situation is easily detected by running the installation in a virtual machine. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=545206
User akataria@vmware.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c1
Alok Kataria
http://bugzilla.novell.com/show_bug.cgi?id=545206
User jbeulich@novell.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c2
Jan Beulich
http://bugzilla.novell.com/show_bug.cgi?id=545206
User jbeulich@novell.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c3
Jan Beulich
http://bugzilla.novell.com/show_bug.cgi?id=545206
User akataria@vmware.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c4
Alok Kataria
http://bugzilla.novell.com/show_bug.cgi?id=545206
User jbeulich@novell.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c5
--- Comment #5 from Jan Beulich
http://bugzilla.novell.com/show_bug.cgi?id=545206
User jbeulich@novell.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c6
--- Comment #6 from Jan Beulich
http://bugzilla.novell.com/show_bug.cgi?id=545206
User akataria@vmware.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c7
Alok Kataria
http://bugzilla.novell.com/show_bug.cgi?id=545206
User jbeulich@novell.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=545206#c8
Jan Beulich
participants (1)
-
bugzilla_noreply@novell.com