diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-04-17 01:02:22 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-04-17 01:02:22 +0000 |
commit | 83fe2b69013fd4a0d23b7723baa490fe4cad81c9 (patch) | |
tree | 1ea0bc6031ea27f0b816c61abf20b88b321dfe30 /pkg/tcpip/transport/tcp/connect.go | |
parent | f5a3a52f7a4b88553ccb4bfa0d5193da0a47b7cf (diff) | |
parent | 3b05f576d73be644daa17203d9ed64481c45b4a8 (diff) |
Merge release-20200323.0-170-g3b05f57 (automated)
Diffstat (limited to 'pkg/tcpip/transport/tcp/connect.go')
-rw-r--r-- | pkg/tcpip/transport/tcp/connect.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pkg/tcpip/transport/tcp/connect.go b/pkg/tcpip/transport/tcp/connect.go index 994ac52a3..368865911 100644 --- a/pkg/tcpip/transport/tcp/connect.go +++ b/pkg/tcpip/transport/tcp/connect.go @@ -1053,10 +1053,15 @@ func (e *endpoint) tryDeliverSegmentFromClosedEndpoint(s *segment) { ep = e.stack.FindTransportEndpoint(header.IPv4ProtocolNumber, e.TransProto, e.ID, &s.route) } if ep == nil { - replyWithReset(s) + replyWithReset(s, stack.DefaultTOS, s.route.DefaultTTL()) s.decRef() return } + + if e == ep { + panic("current endpoint not removed from demuxer, enqueing segments to itself") + } + if ep.(*endpoint).enqueueSegment(s) { ep.(*endpoint).newSegmentWaker.Assert() } |