Fix up bodged backport for KVM: VMX: Fix host userspace gsbase corruption

Bug #787675 reported by Leann Ogasawara
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Lucid
Fix Released
Medium
Leann Ogasawara

Bug Description

SRU Justification:

I've clearly buggered up a backported patch on Lucid that came in as an aside for the 2.6.32.26+drm33.11 stable patch set (See bug 681132). The patch in question is:

    KVM: VMX: Fix host userspace gsbase corruption

    We now use load_gs_index() to load gs safely; unfortunately this also
    changes MSR_KERNEL_GS_BASE, which we managed separately. This resulted
    in confusion and breakage running 32-bit host userspace on a 64-bit kernel.

The thread regarding the additional patches can be read at:

https://lists.ubuntu.com/archives/kernel-team/2010-November/013655.html

The attached patch correctly fixes up the accidental deletion of a line of code, and correctly removes the intended line. Please apply to Lucid. I'll also build and supply a test kernel for anyone able to test.

Changed in linux (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Lucid):
assignee: nobody → Leann Ogasawara (leannogasawara)
importance: Undecided → Medium
status: New → In Progress
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :
description: updated
Revision history for this message
jiang, yunhong (yunhong-jiang) wrote :

With this patch, my android emulator (which is 32bit qemu) works happily.

Revision history for this message
Herton R. Krzesinski (herton) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-lucid' to 'verification-done-lucid'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-lucid
Revision history for this message
Steve Conklin (sconklin) wrote :

yunhong-jian,

was it broken for you before?

Thanks!

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Steve,

This was indeed broken for Jiang without the patch applied. Jiang raised issue with me via email. I've cut and pasted the part of the email describing the issue:

"Hi, Leann, when I run KVM guest in ubuntu 10.04 (lucid amd64) with 32bit qemu, I noticed the 32bit qemu always seg fault because the %gs register is clobbered after KVM_RUN ioctl."

Jiang subsequently test a patched kernel I provided and confirmed it resolved the issue. Confirmation was sent to the kernel-team mailing list:

https://lists.ubuntu.com/archives/kernel-team/2011-May/015656.html

"With this patch, the 32bit android emulator works quite well. I already update the bugzilla. Leann, really appreciate your quick response!"

Steve Conklin (sconklin)
tags: added: verification-done-lucid
removed: verification-needed-lucid
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (17.2 KiB)

This bug was fixed in the package linux - 2.6.32-33.70

---------------
linux (2.6.32-33.70) lucid-proposed; urgency=low

  [Steve Conklin]

  * Release Tracking Bug
    - LP: #807175

  [ Upstream Kernel Changes ]

  * Revert "x86: Flush TLB if PGD entry is changed in i386 PAE mode"
    - LP: #805209

linux (2.6.32-33.69) lucid-proposed; urgency=low

  [Steve Conklin]

  * Release Tracking Bug
    - LP: #802554

  [ Upstream Kernel Changes ]

  * Revert "af_unix: Only allow recv on connected seqpacket sockets."

linux (2.6.32-33.68) lucid-proposed; urgency=low

  [ Steve Conklin ]

  * Release Tracking Bug
    - LP: #798305
  * Fix abi directory

linux (2.6.32-33.67) lucid-proposed; urgency=low

  [ Upstream Kernel Changes ]

  * Revert "iwlagn: Support new 5000 microcode."

linux (2.6.32-33.66) lucid-proposed; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #794098

  [ Upstream Kernel Changes ]

  * Revert "xhci: Fix full speed bInterval encoding."
  * Revert "USB: xhci - fix math in xhci_get_endpoint_interval()"
  * Revert "USB: xhci - fix unsafe macro definitions"

linux (2.6.32-33.65) lucid-proposed; urgency=low

  [ Upstream Kernel Changes ]

  * xhci: Fix full speed bInterval encoding.
    - LP: #792959

linux (2.6.32-33.64) lucid-proposed; urgency=low

  [ Herton R. Krzesinski ]

   * Release Tracking Bug
     - LP: #789325

  [ Leann Ogasawara ]

  * SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption
    - LP: #787675

  [ Thomas Schlichter ]

  * SAUCE: vesafb: mtrr module parameter is uint, not bool
    - LP: #778043

  [ Tim Gardner ]

  * Revert "(pre-stable): input: Support Clickpad devices in ClickZone
    mode"
    - LP: #780588

  [ Upstream Kernel Changes ]

  * Revert "GFS2: Fix writing to non-page aligned gfs2_quota structures"
    - LP: #780588
  * Revert "mmc: build fix: mmc_pm_notify is only available with
    CONFIG_PM=y"
    - LP: #780588
  * Revert "mmc: fix all hangs related to mmc/sd card insert/removal during
    suspend/resume"
    - LP: #780588
  * Revert "econet: fix CVE-2010-3848"
    - LP: #780588
  * Revert "dell-laptop: Add another Dell laptop family to the DMI
    whitelist"
    - LP: #780588
  * Revert "dell-laptop: Add another Dell laptop family to the DMI
    whitelist"
    - LP: #780588
  * Revert "xen: set max_pfn_mapped to the last pfn mapped"
  * cifs: always do is_path_accessible check in cifs_mount
    - LP: #770050
  * video: sn9c102: world-wirtable sysfs files
    - LP: #770050
  * UBIFS: restrict world-writable debugfs files
    - LP: #770050
  * NET: cdc-phonet, handle empty phonet header
    - LP: #770050
  * x86: Fix a bogus unwind annotation in lib/semaphore_32.S
    - LP: #770050
  * tioca: Fix assignment from incompatible pointer warnings
    - LP: #770050
  * mca.c: Fix cast from integer to pointer warning
    - LP: #770050
  * ramfs: fix memleak on no-mmu arch
    - LP: #770050
  * MAINTAINERS: update STABLE BRANCH info
    - LP: #770050
  * UBIFS: fix oops when R/O file-system is fsync'ed
    - LP: #770050
  * x86, cpu: AMD errata checking framework
    - LP: #770050
  * x86, cpu: Clean up AMD erratum 400 workaround
    - LP: #770050
  * x86, AMD: Se...

Changed in linux (Ubuntu Lucid):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.