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
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mark McLoughlin
QA Contact: Martin Jenner
URL:
Whiteboard:
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:
Environment:
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/ld.so.cache", O_RDONLY)      = 3
  fstat64(0x3, 0xffd8ea60)                = 0
  mmap2(NULL, 38827, PROT_READ, MAP_PRIVATE, 3, 0) = 0xfffffffff7e9f000
  close(3)                             
  ...
  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:

  http://lkml.org/lkml/2008/7/21/409

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:

  http://lkml.org/lkml/2008/7/21/410



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.