[PATCH v3 00/10] KVM: s390: More gmap and vsie fixes

Claudio Imbrenda posted 10 patches 5 days, 12 hours ago
arch/s390/include/asm/gmap_helpers.h |   1 +
arch/s390/kvm/faultin.c              |  30 +++----
arch/s390/kvm/gaccess.c              |  11 +--
arch/s390/kvm/gmap.c                 |  19 +++-
arch/s390/kvm/gmap.h                 |   3 +
arch/s390/kvm/kvm-s390.c             |  33 +++++--
arch/s390/kvm/priv.c                 |   8 +-
arch/s390/kvm/pv.c                   |  21 ++++-
arch/s390/mm/gmap_helpers.c          | 128 +++++++++++++++------------
9 files changed, 165 insertions(+), 89 deletions(-)
[PATCH v3 00/10] KVM: s390: More gmap and vsie fixes
Posted by Claudio Imbrenda 5 days, 12 hours ago
Another batch of fixups for gmap and vsie. Some minor fixes, some
not-so-minor fixes that could have caused guest corruption under
particular circumstances.

v2->v3:
* Improve patch 8 to avoid a possible race and minor issue when the
  given limit is smaller than a page
* Fix possible reference leak in fault-in code
* Fix possible warning if gmap_helper_zap_one_page() is called on a
  migration entry

v1->v2:
* Reordered the patches
* _gmap_crstep_xchg_atomic() will now attempt to clear the vsie_notif
  bit when failing due to unshadowing; this prevents potential loops
* try_get_locked_pte() will now return -EAGAIN instead of NULL if the
  pte was reached but the lock was contended; this prevents potential
  loops
* _kvm_s390_pv_make_secure() will now attempt mmap_read_trylock(); this
  prevents try_get_locked_pte() from potentially racing
* Take kvm->slots_lock instead of kvm->slots_arch_lock in
  kvm_s390_set_mem_control() when handling KVM_S390_VM_MEM_LIMIT_SIZE,
  and also take kvm->lock.
* Minor cosmetic / style fixes.

Claudio Imbrenda (10):
  KVM: s390: Fix _gmap_unmap_crste()
  KVM: s390: Fix _gmap_crstep_xchg_atomic()
  KVM: s390: Avoid potentially sleeping while atomic when zapping pages
  KVM: s390: Fix guest / virtual address confusion in _essa_clear_cbrl()
  KVM: s390: vsie: Fix rmap handling in _do_shadow_crste()
  KVM: s390: Fix fault-in code
  KVM: s390: Lock pte when making page secure
  KVM: s390: Prevent memslots outside the ASCE range
  KVM: s390: Fix possible reference leak in fault-in code
  KVM: s390: Remove ptep_zap_softleaf_entry()

 arch/s390/include/asm/gmap_helpers.h |   1 +
 arch/s390/kvm/faultin.c              |  30 +++----
 arch/s390/kvm/gaccess.c              |  11 +--
 arch/s390/kvm/gmap.c                 |  19 +++-
 arch/s390/kvm/gmap.h                 |   3 +
 arch/s390/kvm/kvm-s390.c             |  33 +++++--
 arch/s390/kvm/priv.c                 |   8 +-
 arch/s390/kvm/pv.c                   |  21 ++++-
 arch/s390/mm/gmap_helpers.c          | 128 +++++++++++++++------------
 9 files changed, 165 insertions(+), 89 deletions(-)

-- 
2.54.0