Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 207668 - Running vm86old on an i686 RHEL4 PV guest causes it to stop
Running vm86old on an i686 RHEL4 PV guest causes it to stop
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Chris Lalancette
Brian Brock
Depends On:
Blocks: 201622
  Show dependency treegraph
Reported: 2006-09-22 09:33 EDT by Chris Lalancette
Modified: 2007-11-30 17:07 EST (History)
3 users (show)

See Also:
Fixed In Version: RHBA-2007-0304
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-05-07 23:38:16 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Fix i686 RHEL4 PV vm86old crash (2.02 KB, patch)
2006-10-22 15:56 EDT, Chris Lalancette
no flags Details | Diff
Respin of the vm86old patch, to use load_esp0 instead of stack_switch (1.96 KB, patch)
2006-11-01 11:31 EST, Chris Lalancette
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2007:0304 normal SHIPPED_LIVE Updated kernel packages available for Red Hat Enterprise Linux 4 Update 5 2007-04-28 14:58:50 EDT

  None (edit)
Description Chris Lalancette 2006-09-22 09:33:24 EDT
Description of problem:

scrashme -f on an i686 RHEL4 PV stops working after it executes the "vm86old"
system call.  Executing this call by hand (scrashme -c 113 -f) also shows the
problem.  Hitting Ctrl-C will not kill the test, and the guest becomes
un-pingable.  On the other hand, executing "xm shutdown <domid>" from the dom0
seems to cleanly shutdown the domU, so it is not entirely dead, just unresponsive.  

In rawhide/fc6, executing this system command in a domU causes the calling
process to segmentation fault; RHEL4 domU's should probably do the same.
Comment 1 Chris Lalancette 2006-10-22 15:56:10 EDT
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).
Comment 2 Chris Lalancette 2006-11-01 11:31:25 EST
Created attachment 140003 [details]
Respin of the vm86old patch, to use load_esp0 instead of stack_switch
Comment 4 Jay Turner 2007-01-02 08:44:11 EST
QE ack for RHEL4.5.
Comment 6 Jason Baron 2007-01-05 10:37:43 EST
committed in stream U5 build 42.22. A test kernel with this patch is available
from http://people.redhat.com/~jbaron/rhel4/
Comment 9 Red Hat Bugzilla 2007-05-07 23:38:16 EDT
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.


Note You need to log in before you can comment on or make changes to this bug.