Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 456104 - F10 pv_ops xen: sysenter/vdso bug causes 32 bit binaries to segfault on x86_64
Summary: F10 pv_ops xen: sysenter/vdso bug causes 32 bit binaries to segfault on x86_64
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Mark McLoughlin
QA Contact: Martin Jenner
Depends On:
Blocks: F10_XenPvOps
TreeView+ depends on / blocked
Reported: 2008-07-21 15:30 UTC by Mark McLoughlin
Modified: 2008-08-22 15:41 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-08-22 15:41:06 UTC

Attachments (Terms of Use)

Description Mark McLoughlin 2008-07-21 15:30:39 UTC
With kernel-xen-2.6.27-0.2.rc0.git6.fc10.x86_64

Running a 32 bit binary on Intel x86_64 Xen DomU:

  $> strace /usr/bin/newaliases
  open("/etc/", O_RDONLY)      = 3
  fstat64(0x3, 0xffd8ea60)                = 0
  mmap2(NULL, 38827, PROT_READ, MAP_PRIVATE, 3, 0) = 0xfffffffff7e9f000
  mprotect(0xf7842000, 4096, PROT_READ)   = 0
  mprotect(0xf7865000, 4096, PROT_READ)   = 0
  mprotect(0xf7881000, 4096, PROT_READ)   = 0
  mprotect(0xf7add000, 8192, PROT_READ)   = 0
  mprotect(0xf7b56000, 4096, PROT_READ)   = 0
  mprotect(0xf7ba4000, 4096, PROT_READ)   = 0
  mprotect(0xf7bb9000, 4096, PROT_READ)   = 0
  mprotect(0xf7ec5000, 4096, PROT_READ)   = 0
  munmap(0xf7e9f000, 38827)               = 0
  --- SIGSEGV (Segmentation fault) @ 0 (0) ---

and dmesg shows:

  newaliases[2907] general protection ip:0 sp:0 error:0

It's a known issue with sysenter/vdso from a compat-mode 32 bit userspace.

A workaround is to boot with "vdso32=0" on the kernel command line

Comment 1 Mark McLoughlin 2008-07-22 06:47:04 UTC
Looks like Jeremy and Eduardo found the fix for this:

Comment 2 Jeremy Fitzhardinge 2008-07-22 07:01:19 UTC
The following patch to fix sysexit is equally important.

Comment 3 Mark McLoughlin 2008-07-22 07:21:32 UTC
Yep, thanks - I figured as much, just didn't link to it. But here it is:

Comment 4 Mark McLoughlin 2008-07-24 17:13:56 UTC
kernel-xen is dead, moving to kernel

Comment 5 Mark McLoughlin 2008-08-22 15:41:06 UTC
This is long fixed AFAIR

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