KVM_MEM_READONLY
if (!(s2fd->memslot->flags & KVM_MEM_READONLY))
return memslot->dirty_bitmap && !(memslot->flags & KVM_MEM_READONLY);
new->flags & (KVM_MEM_LOG_DIRTY_PAGES | KVM_MEM_READONLY)) {
writable = !(memslot->flags & KVM_MEM_READONLY);
if ((old_flags & new_flags) & KVM_MEM_READONLY)
if (memslot->flags & KVM_MEM_READONLY) {
if (memslot->flags & KVM_MEM_READONLY) {
writable = !(new->flags & KVM_MEM_READONLY);
!(memslot->flags & KVM_MEM_READONLY);
fault->map_writable = !(fault->slot->flags & KVM_MEM_READONLY);
if ((change != KVM_MR_FLAGS_ONLY) || (new_flags & KVM_MEM_READONLY))
.data_memslot_flags = KVM_MEM_READONLY, \
.pt_memslot_flags = KVM_MEM_READONLY, \
.data_memslot_flags = KVM_MEM_READONLY, \
.pt_memslot_flags = KVM_MEM_READONLY, \
.data_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
.pt_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
.data_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
.pt_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
.data_memslot_flags = KVM_MEM_READONLY, \
.pt_memslot_flags = KVM_MEM_READONLY, \
.data_memslot_flags = KVM_MEM_READONLY, \
.pt_memslot_flags = KVM_MEM_READONLY, \
supported_flags |= KVM_MEM_READONLY;
KVM_MEM_READONLY | KVM_MEM_GUEST_MEMFD,
(KVM_MEM_LOG_DIRTY_PAGES | KVM_MEM_READONLY)
valid_flags |= KVM_MEM_READONLY;
((mem->flags ^ old->flags) & (KVM_MEM_READONLY | KVM_MEM_GUEST_MEMFD)))
return slot->flags & KVM_MEM_READONLY;