diff options
author | Brian Geffon <bgeffon@google.com> | 2018-07-09 20:47:32 -0700 |
---|---|---|
committer | Shentubot <shentubot@google.com> | 2018-07-09 20:48:27 -0700 |
commit | da9b5153f2fafab1597b34336f8a95c1b861f0ac (patch) | |
tree | 4d9de9866368f1836424000ba09ffd39ca7c8fb9 /pkg/tcpip/transport/tcp/connect.go | |
parent | 41aeb680b1882c9416e25e100b5ff5eebead36de (diff) |
Fix two race conditions in tcp stack.
PiperOrigin-RevId: 203880278
Change-Id: I66b790a616de59142859cc12db4781b57ea626d3
Diffstat (limited to 'pkg/tcpip/transport/tcp/connect.go')
-rw-r--r-- | pkg/tcpip/transport/tcp/connect.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pkg/tcpip/transport/tcp/connect.go b/pkg/tcpip/transport/tcp/connect.go index 980663675..afdea2b53 100644 --- a/pkg/tcpip/transport/tcp/connect.go +++ b/pkg/tcpip/transport/tcp/connect.go @@ -949,9 +949,10 @@ func (e *endpoint) protocolMainLoop(passive bool) *tcpip.Error { } if n¬ifyReset != 0 { + e.mu.Lock() e.resetConnectionLocked(tcpip.ErrConnectionAborted) + e.mu.Unlock() } - if n¬ifyClose != 0 && closeTimer == nil { // Reset the connection 3 seconds after the // endpoint has been closed. |