diff options
author | Paul Mackerras <paulus@samba.org> | 2015-06-24 14:18:05 +0300 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2015-08-22 12:16:18 +0300 |
commit | 1e5bf454f58731e360e504253e85bae7aaa2d298 (patch) | |
tree | 06e2668ccf5a62c069a94147f8c08debf36d50fc /arch/powerpc/include/asm/kvm_book3s.h | |
parent | b4deba5c41e9f6d3239606c9e060853d9decfee1 (diff) | |
download | linux-1e5bf454f58731e360e504253e85bae7aaa2d298.tar.xz |
KVM: PPC: Book3S HV: Fix race in reading change bit when removing HPTE
The reference (R) and change (C) bits in a HPT entry can be set by
hardware at any time up until the HPTE is invalidated and the TLB
invalidation sequence has completed. This means that when removing
a HPTE, we need to read the HPTE after the invalidation sequence has
completed in order to obtain reliable values of R and C. The code
in kvmppc_do_h_remove() used to do this. However, commit 6f22bd3265fb
("KVM: PPC: Book3S HV: Make HTAB code LE host aware") removed the
read after invalidation as a side effect of other changes. This
restores the read of the HPTE after invalidation.
The user-visible effect of this bug would be that when migrating a
guest, there is a small probability that a page modified by the guest
and then unmapped by the guest might not get re-transmitted and thus
the destination might end up with a stale copy of the page.
Fixes: 6f22bd3265fb
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/asm/kvm_book3s.h')
0 files changed, 0 insertions, 0 deletions