diff options
author | Bhasker Hariharan <bhaskerh@google.com> | 2019-08-06 10:59:49 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-08-06 11:01:27 -0700 |
commit | dfbc0b0a4cabc6468c82a7665ff655fd4a633dd9 (patch) | |
tree | b7f56b8341e10c88617f25a74e49045685ffb04e /pkg/sentry/fs/host/socket.go | |
parent | 704f9610f3d1add26c266888de62d884338f52cc (diff) |
Fix for a panic due to writing to a closed accept channel.
This can happen because endpoint.Close() closes the accept channel first and
then drains/resets any accepted but not delivered connections. But there can be
connections that are connected but not delivered to the channel as the channel
was full. But closing the channel can cause these writes to fail with a write to
a closed channel.
The correct solution is to abort any connections in SYN-RCVD state and
drain/abort all completed connections before closing the accept channel.
PiperOrigin-RevId: 261951132
Diffstat (limited to 'pkg/sentry/fs/host/socket.go')
0 files changed, 0 insertions, 0 deletions