Re: [PATCH] KVM: PPC: Book3S HV: Fix bug causing loss of page dirty state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20.11.2012, at 10:01, Paul Mackerras wrote:

> This fixes a bug where adding a new guest HPT entry via the H_ENTER
> hcall would lose the "changed" bit in the reverse map information
> for the guest physical page being mapped.  The result was that the
> KVM_GET_DIRTY_LOG could return a zero bit for the page even though
> the page had been modified by the guest.
> 
> This fixes it by only modifying the index and present bits in the
> reverse map entry, thus preserving the reference and change bits.
> We were also unnecessarily setting the reference bit, and this
> fixes that too.
> 
> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>

Thanks, applied to kvm-ppc-next.

Alex

> ---
> This is against Alex Graf's kvm-ppc-next branch plus the series of three
> patches I just sent, but it should be independent of that series.
> 
> arch/powerpc/kvm/book3s_hv_rm_mmu.c |    6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/kvm/book3s_hv_rm_mmu.c b/arch/powerpc/kvm/book3s_hv_rm_mmu.c
> index 2334000..fc3da32 100644
> --- a/arch/powerpc/kvm/book3s_hv_rm_mmu.c
> +++ b/arch/powerpc/kvm/book3s_hv_rm_mmu.c
> @@ -59,10 +59,10 @@ void kvmppc_add_revmap_chain(struct kvm *kvm, struct revmap_entry *rev,
> 		head->back = pte_index;
> 	} else {
> 		rev->forw = rev->back = pte_index;
> -		i = pte_index;
> +		*rmap = (*rmap & ~KVMPPC_RMAP_INDEX) |
> +			pte_index | KVMPPC_RMAP_PRESENT;
> 	}
> -	smp_wmb();
> -	*rmap = i | KVMPPC_RMAP_REFERENCED | KVMPPC_RMAP_PRESENT; /* unlock */
> +	unlock_rmap(rmap);
> }
> EXPORT_SYMBOL_GPL(kvmppc_add_revmap_chain);
> 
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux