Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Ubuntu Kernel Team (http://www.linux-archive.org/ubuntu-kernel-team/)
-   -   UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption (http://www.linux-archive.org/ubuntu-kernel-team/530137-ubuntu-sauce-no-up-fix-up-kvm-vmx-fix-host-userspace-gsbase-corruption.html)

Leann Ogasawara 05-24-2011 07:24 PM

UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption
 
SRU Justification:

http://bugs.launchpad.net/bugs/787675

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 original thread regarding this patch 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've also built a test kernel and referenced it in the bug. I'm hoping
for testing feedback from Jiang who originally brought the mistake to my
attention.

Thanks,
Leann

The following changes since commit 800e98aaa03cf2134fb3b1a7c11f59e93fa97c23:
Thomas Schlichter (1):
UBUNTU: SAUCE: vesafb: enable mtrr WC by default

are available in the git repository at:

git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git lp787675

Leann Ogasawara (1):
UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption

arch/x86/kvm/vmx.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

Brad Figg 05-24-2011 07:56 PM

UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption
 
On 05/24/2011 12:24 PM, Leann Ogasawara wrote:

SRU Justification:

http://bugs.launchpad.net/bugs/787675

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 original thread regarding this patch 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've also built a test kernel and referenced it in the bug. I'm hoping
for testing feedback from Jiang who originally brought the mistake to my
attention.

Thanks,
Leann

The following changes since commit 800e98aaa03cf2134fb3b1a7c11f59e93fa97c23:
Thomas Schlichter (1):
UBUNTU: SAUCE: vesafb: enable mtrr WC by default

are available in the git repository at:

git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git lp787675

Leann Ogasawara (1):
UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption

arch/x86/kvm/vmx.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

From 7766255c19171ecd6961ea9b6455d0de11245d19 Mon Sep 17 00:00:00 2001
From: Leann Ogasawara<leann.ogasawara@canonical.com>
Date: Tue, 24 May 2011 09:40:12 -0700
Subject: [PATCH] UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption

BugLink: http://bugs.launchpad.net/bugs/787675

The backport for the following commit was incorrect, eg. it removed a
line which it shouldn't have.

commit 6cbdc7ba48dff850c233a1ea1abe87a6d0cde2dd
Author: Avi Kivity<avi@redhat.com>
Date: Thu Nov 11 12:37:26 2010 +0200

KVM: VMX: Fix host userspace gsbase corruption

Fix up the backport to be correct.

Signed-off-by: Leann Ogasawara<leann.ogasawara@canonical.com>
---
arch/x86/kvm/vmx.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 77c3287..e3222ab 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -699,7 +699,7 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)
if (vmx->host_state.gs_ldt_reload_needed) {
kvm_load_ldt(vmx->host_state.ldt_sel);
#ifdef CONFIG_X86_64
- wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gs);
+ load_gs_index(vmx->host_state.gs_sel);
#else
loadsegment(gs, vmx->host_state.gs_sel);
#endif


Acked-by: Brad Figg <brad.figg@canonical.com>

--
Brad Figg brad.figg@canonical.com http://www.canonical.com

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Herton Ronaldo Krzesinski 05-24-2011 09:21 PM

UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption
 
On Tue, May 24, 2011 at 12:24:55PM -0700, Leann Ogasawara wrote:
> SRU Justification:
>
> http://bugs.launchpad.net/bugs/787675
>
> 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 original thread regarding this patch 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've also built a test kernel and referenced it in the bug. I'm hoping
> for testing feedback from Jiang who originally brought the mistake to my
> attention.
>
> Thanks,
> Leann
>
> The following changes since commit 800e98aaa03cf2134fb3b1a7c11f59e93fa97c23:
> Thomas Schlichter (1):
> UBUNTU: SAUCE: vesafb: enable mtrr WC by default
>
> are available in the git repository at:
>
> git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git lp787675
>
> Leann Ogasawara (1):
> UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption
>
> arch/x86/kvm/vmx.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> From 7766255c19171ecd6961ea9b6455d0de11245d19 Mon Sep 17 00:00:00 2001
> From: Leann Ogasawara <leann.ogasawara@canonical.com>
> Date: Tue, 24 May 2011 09:40:12 -0700
> Subject: [PATCH] UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption
>
> BugLink: http://bugs.launchpad.net/bugs/787675
>
> The backport for the following commit was incorrect, eg. it removed a
> line which it shouldn't have.
>
> commit 6cbdc7ba48dff850c233a1ea1abe87a6d0cde2dd
> Author: Avi Kivity <avi@redhat.com>
> Date: Thu Nov 11 12:37:26 2010 +0200
>
> KVM: VMX: Fix host userspace gsbase corruption
>
> Fix up the backport to be correct.
>
> Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>

Acked-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>

> ---
> arch/x86/kvm/vmx.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 77c3287..e3222ab 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -699,7 +699,7 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)
> if (vmx->host_state.gs_ldt_reload_needed) {
> kvm_load_ldt(vmx->host_state.ldt_sel);
> #ifdef CONFIG_X86_64
> - wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gs);
> + load_gs_index(vmx->host_state.gs_sel);
> #else
> loadsegment(gs, vmx->host_state.gs_sel);
> #endif
> --
> 1.7.0.4
>
>
>
>
> --
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>

--
[]'s
Herton

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

"Jiang, Yunhong" 05-25-2011 08:42 AM

UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption
 
With this patch, the 32bit android emulator works quite well. I already update the bugzilla.
Leann, really appreciate your quick response!

Thanks
--jyh

>-----Original Message-----
>From: Leann Ogasawara [mailto:leann.ogasawara@canonical.com]
>Sent: Wednesday, May 25, 2011 3:25 AM
>To: kernel-team
>Cc: Jiang, Yunhong
>Subject: [Lucid][SRU][PATCH] UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host
>userspace gsbase corruption
>
>SRU Justification:
>
>http://bugs.launchpad.net/bugs/787675
>
>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 original thread regarding this patch 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've also built a test kernel and referenced it in the bug. I'm hoping
>for testing feedback from Jiang who originally brought the mistake to my
>attention.
>
>Thanks,
>Leann
>
>The following changes since commit 800e98aaa03cf2134fb3b1a7c11f59e93fa97c23:
> Thomas Schlichter (1):
> UBUNTU: SAUCE: vesafb: enable mtrr WC by default
>
>are available in the git repository at:
>
> git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git lp787675
>
>Leann Ogasawara (1):
> UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase
>corruption
>
> arch/x86/kvm/vmx.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>From 7766255c19171ecd6961ea9b6455d0de11245d19 Mon Sep 17 00:00:00 2001
>From: Leann Ogasawara <leann.ogasawara@canonical.com>
>Date: Tue, 24 May 2011 09:40:12 -0700
>Subject: [PATCH] UBUNTU: SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace
>gsbase corruption
>
>BugLink: http://bugs.launchpad.net/bugs/787675
>
>The backport for the following commit was incorrect, eg. it removed a
>line which it shouldn't have.
>
> commit 6cbdc7ba48dff850c233a1ea1abe87a6d0cde2dd
> Author: Avi Kivity <avi@redhat.com>
> Date: Thu Nov 11 12:37:26 2010 +0200
>
> KVM: VMX: Fix host userspace gsbase corruption
>
>Fix up the backport to be correct.
>
>Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
>---
> arch/x86/kvm/vmx.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
>index 77c3287..e3222ab 100644
>--- a/arch/x86/kvm/vmx.c
>+++ b/arch/x86/kvm/vmx.c
>@@ -699,7 +699,7 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)
> if (vmx->host_state.gs_ldt_reload_needed) {
> kvm_load_ldt(vmx->host_state.ldt_sel);
> #ifdef CONFIG_X86_64
>- wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gs);
>+ load_gs_index(vmx->host_state.gs_sel);
> #else
> loadsegment(gs, vmx->host_state.gs_sel);
> #endif
>--
>1.7.0.4
>
>

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team


All times are GMT. The time now is 06:42 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.