>> So what can happen is (please correct me if I'm wrong) >> >> a) PMD is split. SSKE writes storage key with _PAGE_CHANGED, ends up in >> PGSTE. The real storage key doesn't match the requested storage key. >> b) Split PMD is replaced, triggers a removal of the split PMD -> >> gmap_pmd_split_free(pmdp). The requested storage key is partially lost >> (pgste removed). >> c) PMD is mapped in again. If the guest reads the storage key now, the >> value is wrong. > > Yes, we loose GR and GC. > Is there a case when the VM is running, where this would happen? It should already happen when migrating storage keys. The fake PGSTE are not considered in get_guest_storage_key(). For the other parts, the original user space PMD would have to be changed. A simply mprotect() should achieve that. Or dirty tracking. But not sure how that applies to huge pages at all. -- Thanks, David / dhildenb -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html