From: Stefan Hajnoczi <stefa...@redhat.com> Date: Thu, 6 Dec 2018 19:14:34 +0000
> If a local process has closed a connected socket and hasn't received a > RST packet yet, then the socket remains in the table until a timeout > expires. > > When a vhost_vsock instance is released with the timeout still pending, > the socket is never freed because vhost_vsock has already set the > SOCK_DONE flag. > > Check if the close timer is pending and let it close the socket. This > prevents the race which can leak sockets. > > Reported-by: Maximilian Riemensberger <riemensber...@cadami.net> > Cc: Graham Whaley <graham.wha...@gmail.com> > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Michael please review, and let me know if you want me to apply this directly and queue it up for -stable.