public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kvm: x86: Do not handle MMIO request in fast_page_fault
@ 2017-09-05  9:29 changbin.du
  2017-09-05 10:37 ` Du, Changbin
  0 siblings, 1 reply; 2+ messages in thread
From: changbin.du @ 2017-09-05  9:29 UTC (permalink / raw)
  To: pbonzini, rkrcmar, tglx, mingo, hpa
  Cc: x86, kvm, linux-kernel, Changbin Du, Changbin Du

From: Changbin Du <changbin.du@hotmail.com>

If it is a MMIO request, it should be handled by slow path. This patch
actually fixed below warning when mmu debug is enabled.

WARNING: CPU: 5 PID: 2282 at arch/x86/kvm/mmu.c:226 fast_page_fault+0x41b/0x520
CPU: 5 PID: 2282 Comm: qemu-system-x86 Not tainted 4.13.0-rc6+ #34
task: ffff9b47f5286000 task.stack: ffffb18d03b28000
RIP: 0010:fast_page_fault+0x41b/0x520
Call Trace:
  tdp_page_fault+0xfb/0x290
  kvm_mmu_page_fault+0x61/0x120
  handle_ept_misconfig+0x1ba/0x1c0
  vmx_handle_exit+0xb8/0xd70
  ? kvm_arch_vcpu_ioctl_run+0x9b6/0x18e0
  kvm_arch_vcpu_ioctl_run+0xa5a/0x18e0
  ? kvm_arch_vcpu_load+0x62/0x230
  kvm_vcpu_ioctl+0x340/0x6c0
  ? kvm_vcpu_ioctl+0x340/0x6c0
  ? lock_acquire+0xf5/0x1f0
  do_vfs_ioctl+0xa2/0x670
  ? __fget+0x107/0x200
  SyS_ioctl+0x79/0x90
  entry_SYSCALL_64_fastpath+0x23/0xc2

Signed-off-by: Changbin Du <changbin.du@hotmail.com>
Signed-off-by: Changbin Du <changbin.du@intel.com>
---
 arch/x86/kvm/mmu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 9d3f275..d6b2b27 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -3201,7 +3201,7 @@ static bool fast_page_fault(struct kvm_vcpu *vcpu, gva_t gva, int level,
 
 		new_spte = spte;
 
-		if (is_access_track_spte(spte))
+		if (!is_mmio_spte(spte) && is_access_track_spte(spte))
 			new_spte = restore_acc_track_spte(new_spte);
 
 		/*
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] kvm: x86: Do not handle MMIO request in fast_page_fault
  2017-09-05  9:29 [PATCH] kvm: x86: Do not handle MMIO request in fast_page_fault changbin.du
@ 2017-09-05 10:37 ` Du, Changbin
  0 siblings, 0 replies; 2+ messages in thread
From: Du, Changbin @ 2017-09-05 10:37 UTC (permalink / raw)
  To: changbin.du
  Cc: pbonzini, rkrcmar, tglx, mingo, hpa, x86, kvm, linux-kernel,
	Changbin Du

[-- Attachment #1: Type: text/plain, Size: 1764 bytes --]

Sorry, messed up. This is not the correct one, will resend. thx.

On Tue, Sep 05, 2017 at 05:29:41PM +0800, changbin.du@intel.com wrote:
> From: Changbin Du <changbin.du@hotmail.com>
> 
> If it is a MMIO request, it should be handled by slow path. This patch
> actually fixed below warning when mmu debug is enabled.
> 
> WARNING: CPU: 5 PID: 2282 at arch/x86/kvm/mmu.c:226 fast_page_fault+0x41b/0x520
> CPU: 5 PID: 2282 Comm: qemu-system-x86 Not tainted 4.13.0-rc6+ #34
> task: ffff9b47f5286000 task.stack: ffffb18d03b28000
> RIP: 0010:fast_page_fault+0x41b/0x520
> Call Trace:
>   tdp_page_fault+0xfb/0x290
>   kvm_mmu_page_fault+0x61/0x120
>   handle_ept_misconfig+0x1ba/0x1c0
>   vmx_handle_exit+0xb8/0xd70
>   ? kvm_arch_vcpu_ioctl_run+0x9b6/0x18e0
>   kvm_arch_vcpu_ioctl_run+0xa5a/0x18e0
>   ? kvm_arch_vcpu_load+0x62/0x230
>   kvm_vcpu_ioctl+0x340/0x6c0
>   ? kvm_vcpu_ioctl+0x340/0x6c0
>   ? lock_acquire+0xf5/0x1f0
>   do_vfs_ioctl+0xa2/0x670
>   ? __fget+0x107/0x200
>   SyS_ioctl+0x79/0x90
>   entry_SYSCALL_64_fastpath+0x23/0xc2
> 
> Signed-off-by: Changbin Du <changbin.du@hotmail.com>
> Signed-off-by: Changbin Du <changbin.du@intel.com>
> ---
>  arch/x86/kvm/mmu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
> index 9d3f275..d6b2b27 100644
> --- a/arch/x86/kvm/mmu.c
> +++ b/arch/x86/kvm/mmu.c
> @@ -3201,7 +3201,7 @@ static bool fast_page_fault(struct kvm_vcpu *vcpu, gva_t gva, int level,
>  
>  		new_spte = spte;
>  
> -		if (is_access_track_spte(spte))
> +		if (!is_mmio_spte(spte) && is_access_track_spte(spte))
>  			new_spte = restore_acc_track_spte(new_spte);
>  
>  		/*
> -- 
> 2.7.4
> 

-- 
Thanks,
Changbin Du

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-09-05 10:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-05  9:29 [PATCH] kvm: x86: Do not handle MMIO request in fast_page_fault changbin.du
2017-09-05 10:37 ` Du, Changbin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox