Re: [PATCH v3 12/21] KVM: X86: Implement ring-based dirty memory tracking

From: Peter Xu
Date: Thu Jan 16 2020 - 11:27:15 EST


On Thu, Jan 16, 2020 at 03:38:21AM -0500, Michael S. Tsirkin wrote:
> On Thu, Jan 09, 2020 at 09:57:20AM -0500, Peter Xu wrote:
> > + /* If to map any writable page within dirty ring, fail it */
> > + if ((kvm_page_in_dirty_ring(vcpu->kvm, vma->vm_pgoff) ||
> > + kvm_page_in_dirty_ring(vcpu->kvm, vma->vm_pgoff + pages - 1)) &&
> > + vma->vm_flags & VM_WRITE)
> > + return -EINVAL;
>
> Worth thinking about other flags. Do we want to force VM_SHARED?
> Disable VM_EXEC?

Makes sense to me. I think it worths a standalone patch since they
should apply for the whole per-vcpu mmaped regions rather than only
for the dirty ring buffers.

(Should include KVM_PIO_PAGE_OFFSET, KVM_COALESCED_MMIO_PAGE_OFFSET,
KVM_S390_SIE_PAGE_OFFSET, kvm_run, and this new one)

Thanks,

--
Peter Xu