diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2018-12-06 22:14:34 +0300 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2018-12-06 22:22:34 +0300 |
commit | c38f57da428b033f2721b611d84b1f40bde674a8 (patch) | |
tree | c65567f936e34db07096b4003010c8ba64fe9022 /fs/cachefiles | |
parent | 2595646791c319cadfdbf271563aac97d0843dc7 (diff) | |
download | linux-c38f57da428b033f2721b611d84b1f40bde674a8.tar.xz |
vhost/vsock: fix reset orphans race with close timeout
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 <riemensberger@cadami.net>
Cc: Graham Whaley <graham.whaley@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'fs/cachefiles')
0 files changed, 0 insertions, 0 deletions