diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 6c29afb76070..a1ff6b76aa8c 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -1051,8 +1051,8 @@ __gfn_to_hva_memslot(struct kvm_memory_slot *slot, gfn_t gfn) * table walks, do not let the processor speculate loads outside * the guest's registered memslots. */ - unsigned long offset = array_index_nospec(gfn - slot->base_gfn, - slot->npages); + unsigned long offset = gfn - slot->base_gfn; + offset = array_index_nospec(offset, slot->npages); return slot->userspace_addr + offset * PAGE_SIZE; }