aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/virtual
diff options
context:
space:
mode:
authorTakuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>2015-11-20 03:45:44 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2015-11-25 11:26:47 -0500
commit77fbbbd2f09fae486190bb2bd7142647dc2a6e8b (patch)
tree540f568e2226e1cfe370c3ed7cf0bd4544b03c22 /Documentation/virtual
parentafd28fe1c901429eba8957f54bdb4a13cc15ae44 (diff)
KVM: x86: MMU: Consolidate BUG_ON checks for reverse-mapped sptes
At some call sites of rmap_get_first() and rmap_get_next(), BUG_ON is placed right after the call to detect unrelated sptes which must not be found in the reverse-mapping list. Move this check in rmap_get_first/next() so that all call sites, not just the users of the for_each_rmap_spte() macro, will be checked the same way. One thing to keep in mind is that kvm_mmu_unlink_parents() also uses rmap_get_first() to handle parent sptes. The change will not break it because parent sptes are present, at least until drop_parent_pte() actually unlinks them, and not mmio-sptes. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'Documentation/virtual')
-rw-r--r--Documentation/virtual/kvm/mmu.txt4
1 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/virtual/kvm/mmu.txt b/Documentation/virtual/kvm/mmu.txt
index 3a4d681c3e98..daf9c0f742d2 100644
--- a/Documentation/virtual/kvm/mmu.txt
+++ b/Documentation/virtual/kvm/mmu.txt
@@ -203,10 +203,10 @@ Shadow pages contain the following information:
203 page cannot be destroyed. See role.invalid. 203 page cannot be destroyed. See role.invalid.
204 parent_ptes: 204 parent_ptes:
205 The reverse mapping for the pte/ptes pointing at this page's spt. If 205 The reverse mapping for the pte/ptes pointing at this page's spt. If
206 parent_ptes bit 0 is zero, only one spte points at this pages and 206 parent_ptes bit 0 is zero, only one spte points at this page and
207 parent_ptes points at this single spte, otherwise, there exists multiple 207 parent_ptes points at this single spte, otherwise, there exists multiple
208 sptes pointing at this page and (parent_ptes & ~0x1) points at a data 208 sptes pointing at this page and (parent_ptes & ~0x1) points at a data
209 structure with a list of parent_ptes. 209 structure with a list of parent sptes.
210 unsync: 210 unsync:
211 If true, then the translations in this page may not match the guest's 211 If true, then the translations in this page may not match the guest's
212 translation. This is equivalent to the state of the tlb when a pte is 212 translation. This is equivalent to the state of the tlb when a pte is