> In the unlikely event that the kmalloc call in vmci_transport_socket_init() > fails, we end-up calling vmci_transport_destruct() with a NULL vmci_trans() > and oopsing. > > This change addresses the above explicitly checking for zero vmci_trans() at > destruction time. > > Reported-by: Xiumei Mu <x...@redhat.com> > Fixes: d021c344051a ("VSOCK: Introduce VM Sockets") > Signed-off-by: Paolo Abeni <pab...@redhat.com> > --- > net/vmw_vsock/vmci_transport.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/vmw_vsock/vmci_transport.c > b/net/vmw_vsock/vmci_transport.c index c361ce782412..c3d5ab01fba7 > 100644 > --- a/net/vmw_vsock/vmci_transport.c > +++ b/net/vmw_vsock/vmci_transport.c > @@ -1651,6 +1651,10 @@ static void vmci_transport_cleanup(struct > work_struct *work) > > static void vmci_transport_destruct(struct vsock_sock *vsk) { > + /* transport can be NULL if we hit a failure at init() time */ > + if (!vmci_trans(vsk)) > + return; > + > /* Ensure that the detach callback doesn't use the sk/vsk > * we are about to destruct. > */ > -- > 2.20.1
Reviewed-by: Jorgen Hansen <jhan...@vmware.com> Thanks for fixing this, Jorgen