Bug 207668
Summary: | Running vm86old on an i686 RHEL4 PV guest causes it to stop | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | Chris Lalancette <clalance> | ||||||
Component: | kernel | Assignee: | Chris Lalancette <clalance> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Brian Brock <bbrock> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 4.0 | CC: | ddutile, jbaron, riel | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | RHBA-2007-0304 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2007-05-08 03:38:16 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 201622 | ||||||||
Attachments: |
|
Description
Chris Lalancette
2006-09-22 13:33:24 UTC
Created attachment 139086 [details]
Fix i686 RHEL4 PV vm86old crash
This patch fixes the crash when running vm86old (originally found by running
scrashme). The problem was two-fold; basically a mis-merge of the code in
arch/i386/kernel/entry-xen.S, plus missing stack switches in
arch/i386/kernel/vm86.c. The mis-merge was caused because RHEL-4 doesn't have
the "CONFIG_VM86" option, while 2.6.18 does; it basically means the code
necessary to return from vm86 mode wasn't being properly compiled into
entry-xen.S. The missing HYPERVISOR_stack_switch in vm86.c was making it so
that we didn't use the kernel stack. I don't completely understand this last
part, but it brings us in sync with 2.6.18, and seems to work. Without this
patch, the RHEL-4 kernel goes into an endless loop (just consuming CPU time)
when vm86old was called; with this patch, that no longer happens, and it
SEGFAULTS when running scrashme (the same as the FC-6 xen kernel).
Created attachment 140003 [details]
Respin of the vm86old patch, to use load_esp0 instead of stack_switch
QE ack for RHEL4.5. committed in stream U5 build 42.22. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/ An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0304.html |