OSDN Git Service

KVM: x86/mmu: simplify kvm_tdp_mmu_map flow when guest has to retry
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Nov 2022 16:05:51 +0000 (11:05 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Nov 2022 16:10:25 +0000 (11:10 -0500)
commit63d28a25e04cb48e6bd15141506645ac99d9f8b2
tree2a28b0d226d56e9c300c11f94d9d7e56f3ee1f6b
parentc4b33d28ea51c7d194b19a41c96a4f973cc0a280
KVM: x86/mmu: simplify kvm_tdp_mmu_map flow when guest has to retry

A removed SPTE is never present, hence the "if" in kvm_tdp_mmu_map
only fails in the exact same conditions that the earlier loop
tested in order to issue a  "break". So, instead of checking twice the
condition (upper level SPTEs could not be created or was frozen), just
exit the loop with a goto---the usual poor-man C replacement for RAII
early returns.

While at it, do not use the "ret" variable for return values of
functions that do not return a RET_PF_* enum.  This is clearer
and also makes it possible to initialize ret to RET_PF_RETRY.

Suggested-by: Robert Hoo <robert.hu@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/tdp_mmu.c