Convert page_fault_handle_page_trace() to receive single argument, struct kvm_page_fault, instead of many arguments. No functional change is intended. Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> --- arch/x86/kvm/mmu/mmu.c | 9 +++++---- arch/x86/kvm/mmu/paging_tmpl.h | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index a2422bd9f59b..dac022a79c57 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -3598,9 +3598,10 @@ static int handle_mmio_page_fault(struct kvm_vcpu *vcpu, u64 addr, bool direct) return RET_PF_RETRY; } -static bool page_fault_handle_page_track(struct kvm_vcpu *vcpu, - u32 error_code, gfn_t gfn) +static bool page_fault_handle_page_track(struct kvm_page_fault *kpf) { + u32 error_code = kpf->error_code; + if (unlikely(error_code & PFERR_RSVD_MASK)) return false; @@ -3612,7 +3613,7 @@ static bool page_fault_handle_page_track(struct kvm_vcpu *vcpu, * guest is writing the page which is write tracked which can * not be fixed by page fault handler. */ - if (kvm_page_track_is_active(vcpu, gfn, KVM_PAGE_TRACK_WRITE)) + if (kvm_page_track_is_active(kpf->vcpu, kpf->gfn, KVM_PAGE_TRACK_WRITE)) return true; return false; @@ -3697,7 +3698,7 @@ static int direct_page_fault(struct kvm_page_fault *kpf) unsigned long mmu_seq; int r; - if (page_fault_handle_page_track(vcpu, error_code, gfn)) + if (page_fault_handle_page_track(kpf)) return RET_PF_EMULATE; if (!is_tdp_mmu_root(vcpu->kvm, vcpu->arch.mmu->root_hpa)) { diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h index f2beb7f7c378..7965786418af 100644 --- a/arch/x86/kvm/mmu/paging_tmpl.h +++ b/arch/x86/kvm/mmu/paging_tmpl.h @@ -827,7 +827,8 @@ static int FNAME(page_fault)(struct kvm_page_fault *kpf) return RET_PF_RETRY; } - if (page_fault_handle_page_track(vcpu, error_code, walker.gfn)) { + kpf->gfn = walker.gfn; + if (page_fault_handle_page_track(kpf)) { shadow_page_table_clear_flood(vcpu, addr); return RET_PF_EMULATE; } @@ -849,7 +850,6 @@ static int FNAME(page_fault)(struct kvm_page_fault *kpf) mmu_seq = vcpu->kvm->mmu_notifier_seq; smp_rmb(); - kpf->gfn = walker.gfn; if (try_async_pf(kpf)) return RET_PF_RETRY; -- 2.25.1