Messages in this thread | | | Date | Wed, 17 Nov 2021 17:49:14 +0100 | Subject | Re: There is a null-ptr-deref bug in kvm_dirty_ring_get in virt/kvm/dirty_ring.c | From | Paolo Bonzini <> |
| |
On 11/17/21 10:46, Woodhouse, David wrote: >> The remaining >> option would be just "do not mark the page as dirty if the ring buffer >> is active". This is feasible because userspace itself has passed the >> shared info gfn; but again, it's ugly... > I think I am coming to quite like that 'remaining option' as long as we > rephrase it as follows: > > KVM does not mark the shared_info page as dirty, and userspace is > expected to*assume* that it is dirty at all times. It's used for > delivering event channel interrupts and the overhead of marking it > dirty each time is just pointless.
For the case of dirty-bitmap, one solution could be to only set a bool and actually mark the page dirty lazily, at the time of KVM_GET_DIRTY_LOG. For dirty-ring, I agree that it's easiest if userspace just "knows" the page is dirty.
Paolo
| |