• Jorgen Hansen's avatar
    VMCI: Doorbell create and destroy fixes · eb94cd68
    Jorgen Hansen authored
    This change consists of two changes:
    
    1) If vmci_doorbell_create is called when neither guest nor
       host personality as been initialized, vmci_get_context_id
       will return VMCI_INVALID_ID. In that case, we should fail
       the create call.
    2) In doorbell destroy, we assume that vmci_guest_code_active()
       has the same return value on create and destroy. That may not
       be the case, so we may end up with the wrong refcount.
       Instead, destroy should check explicitly whether the doorbell
       is in the index table as an indicator of whether the guest
       code was active at create time.
    Reviewed-by: default avatarAdit Ranadive <aditr@vmware.com>
    Signed-off-by: default avatarJorgen Hansen <jhansen@vmware.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    eb94cd68
vmci_doorbell.c 16.9 KB