From: Jan Kiszka <jan.kiszka@siemens.com>
To: Wanpeng Li <wanpeng.li@hotmail.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Bandan Das <bsd@redhat.com>, Wincy Van <fanwenyi0529@gmail.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] KVM: vmx: fix VPID is 0000H in non-root operation
Date: Wed, 16 Sep 2015 14:32:33 +0200 [thread overview]
Message-ID: <55F96161.2090405@siemens.com> (raw)
In-Reply-To: <BLU436-SMTP979E5F0855A14EAB12C4A5805B0@phx.gbl>
On 2015-09-16 13:31, Wanpeng Li wrote:
> Reference SDM 28.1:
>
> The current VPID is 0000H in the following situations:
> — Outside VMX operation. (This includes operation in system-management
> mode under the default treatment of SMIs and SMM with VMX operation;
> see Section 34.14.)
> — In VMX root operation.
> — In VMX non-root operation when the “enable VPID” VM-execution control
> is 0.
>
> The VPID should never be 0000H in non-root operation when "enable VPID"
> VM-execution control is 1. However, commit (34a1cd60: 'kvm: x86: vmx:
> move some vmx setting from vmx_init() to hardware_setup()') remove the
> codes which reserve 0000H for VMX root operation.
>
> This patch fix it by reintroducing reserve 0000H for VMX root operation.
>
> Reported-by: Wincy Van <fanwenyi0529@gmail.com>
> Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
> ---
> arch/x86/kvm/vmx.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 9ff6a3f..a63b9ca 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -6056,6 +6056,8 @@ static __init int hardware_setup(void)
> memcpy(vmx_msr_bitmap_longmode_x2apic,
> vmx_msr_bitmap_longmode, PAGE_SIZE);
>
> + set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */
> +
> if (enable_apicv) {
> for (msr = 0x800; msr <= 0x8ff; msr++)
> vmx_disable_intercept_msr_read_x2apic(msr);
>
Good point.
BTW, what will happen if allocate_vpid runs out of free slots and
returns 0? Will we always fail then...?
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2015-09-16 12:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-16 11:31 [PATCH] KVM: vmx: fix VPID is 0000H in non-root operation Wanpeng Li
2015-09-16 12:32 ` Jan Kiszka [this message]
2015-09-16 12:42 ` Paolo Bonzini
2015-09-16 13:53 ` Wanpeng Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55F96161.2090405@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=bsd@redhat.com \
--cc=fanwenyi0529@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=wanpeng.li@hotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox