So, after the userfaultfd fix postcopy does work now, but vSIE in combination with paging can still result in crashing g3s. Therefore we split up the series and only integrate non-vSIE support for now. Branch: git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git hlp_vsie https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git/log/?h=hlp_vsie v6: * Added clearing of storage keys for newly mapped pmds * Split enablement in gmap and kvm part * Removed some rebase errors * Integrated changes proposed onlist v5: * Removed pmd splitting and userspace protection * Split up bigger patches * Cleanups V4: * Split up vSIE patches * Added hpage module parameter disabling vSIE when set. * Added HPAGE capability that has to be enabled for huge guests V3: * Moved splitting to the front. * Cleanups V2: * Incorporated changes from David's cleanup * Now flushing with IDTE_NODAT for protection transfers. * Added RRBE huge page handling for g2 -> g3 skey emulation * Added documentation for capability * Renamed GMAP_ENTRY_* constants * Added SEGMENT hardware bits constants * Improved some patch descriptions * General small improvements * Introduced pte_from_pmd function Dominik Dingel (2): s390/mm: Clear huge page storage keys on enable_skey s390/mm: hugetlb pages within a gmap can not be freed Janosch Frank (10): s390/mm: Make gmap_protect_range more modular s390/mm: Abstract gmap notify bit setting s390/mm: Add gmap pmd linking s390/mm: Add gmap pmd invalidation notification s390/mm: Add gmap pmd invalidation and clearing s390/mm: Add huge page dirty sync support s390/mm: Clear skeys for newly mapped huge guest pmds s390/mm: Add huge pmd storage key handling KVM: s390: Add huge page enablement control s390/mm: Add huge page gmap linking support Documentation/virtual/kvm/api.txt | 16 ++ arch/s390/include/asm/gmap.h | 10 + arch/s390/include/asm/mmu.h | 2 + arch/s390/include/asm/mmu_context.h | 1 + arch/s390/include/asm/pgtable.h | 11 +- arch/s390/kvm/kvm-s390.c | 60 ++++- arch/s390/mm/gmap.c | 470 ++++++++++++++++++++++++++++++++++-- arch/s390/mm/pageattr.c | 6 +- arch/s390/mm/pgtable.c | 136 +++++++++-- include/uapi/linux/kvm.h | 1 + 10 files changed, 656 insertions(+), 57 deletions(-) -- 2.14.3