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)
Undecided
Unassigned
Lucid
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  Edit
Everyone can see this information.

Other bug subscribers