2019-01-04 08:22:04

by Tianyu Lan

[permalink] [raw]
Subject: [PATCH] KVM/VMX: Avoid return error when flush tlb successfully in the hv_remote_flush_tlb_with_range()

From: Lan Tianyu <[email protected]>

The "ret" is initialized to be ENOTSUPP. The return value of
__hv_remote_flush_tlb_with_range() will be Or with "ret" when ept
table potiners are mismatched. This will cause return ENOTSUPP even if
flush tlb successfully. This patch is to fix the issue and set
"ret" to 0.

Fix: a5c214da("KVM/VMX: Change hv flush logic when ept tables are mismatched.")
Signed-off-by: Lan Tianyu <[email protected]>
---
arch/x86/kvm/vmx/vmx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 59b98c76028d..384f4782afba 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -467,7 +467,7 @@ static int hv_remote_flush_tlb_with_range(struct kvm *kvm,
struct kvm_tlb_range *range)
{
struct kvm_vcpu *vcpu;
- int ret = -ENOTSUPP, i;
+ int ret = 0, i;

spin_lock(&to_kvm_vmx(kvm)->ept_pointer_lock);

--
2.14.4



2019-01-11 17:23:51

by Radim Krčmář

[permalink] [raw]
Subject: Re: [PATCH] KVM/VMX: Avoid return error when flush tlb successfully in the hv_remote_flush_tlb_with_range()

2019-01-04 15:20+0800, [email protected]:
> From: Lan Tianyu <[email protected]>
>
> The "ret" is initialized to be ENOTSUPP. The return value of
> __hv_remote_flush_tlb_with_range() will be Or with "ret" when ept
> table potiners are mismatched. This will cause return ENOTSUPP even if
> flush tlb successfully. This patch is to fix the issue and set
> "ret" to 0.
>
> Fix: a5c214da("KVM/VMX: Change hv flush logic when ept tables are mismatched.")
> Signed-off-by: Lan Tianyu <[email protected]>
> ---

Applied, thanks.