• Jorgen Hansen's avatar
    VSOCK: sock_put wasn't safe to call in interrupt context · 4ef7ea91
    Jorgen Hansen authored
    In the vsock vmci_transport driver, sock_put wasn't safe to call
    in interrupt context, since that may call the vsock destructor
    which in turn calls several functions that should only be called
    from process context. This change defers the callling of these
    functions  to a worker thread. All these functions were
    deallocation of resources related to the transport itself.
    
    Furthermore, an unused callback was removed to simplify the
    cleanup.
    
    Multiple customers have been hitting this issue when using
    VMware tools on vSphere 2015.
    
    Also added a version to the vmci transport module (starting from
    1.0.2.0-k since up until now it appears that this module was
    sharing version with vsock that is currently at 1.0.1.0-k).
    Reviewed-by: default avatarAditya Asarwade <asarwade@vmware.com>
    Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
    Signed-off-by: default avatarJorgen Hansen <jhansen@vmware.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4ef7ea91
vmci_transport.c 58.3 KB