vsock/virtio: fix kernel panic after device hot-unplug
authorStefano Garzarella <sgarzare@redhat.com>
Fri, 1 Feb 2019 11:42:06 +0000 (12:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Mar 2019 21:05:00 +0000 (14:05 -0700)
commit5c9e72bfd09a53ea1b5b71fc5b84e09bacc9a975
tree592ada60c81206185601ae1fa59e7dfae506754e
parentb498cfefc30a7f3f223c927c082cd3bd96aeced2
vsock/virtio: fix kernel panic after device hot-unplug

[ Upstream commit 22b5c0b63f32568e130fa2df4ba23efce3eb495b ]

virtio_vsock_remove() invokes the vsock_core_exit() also if there
are opened sockets for the AF_VSOCK protocol family. In this way
the vsock "transport" pointer is set to NULL, triggering the
kernel panic at the first socket activity.

This patch move the vsock_core_init()/vsock_core_exit() in the
virtio_vsock respectively in module_init and module_exit functions,
that cannot be invoked until there are open sockets.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1609699
Reported-by: Yan Fu <yafu@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/vmw_vsock/virtio_transport.c