• Alex Williamson's avatar
    KVM: Restrict non-existing slot state transitions · f0736cf0
    Alex Williamson authored
    The API documentation states:
    
    	When changing an existing slot, it may be moved in the guest
    	physical memory space, or its flags may be modified.
    
    An "existing slot" requires a non-zero npages (memory_size).  The only
    transition we should therefore allow for a non-existing slot should be
    to create the slot, which includes setting a non-zero memory_size.  We
    currently allow calls to modify non-existing slots, which is pointless,
    confusing, and possibly wrong.
    
    With this we know that the invalidation path of __kvm_set_memory_region
    is always for a delete or move and never for adding a zero size slot.
    Reviewed-by: default avatarGleb Natapov <gleb@redhat.com>
    Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
    f0736cf0
kvm_main.c 65.7 KB