diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-09-02 00:37:40 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-09-02 00:37:40 +0000 |
commit | b7e54559b3725cfb23f753143aac0c2c0b116e12 (patch) | |
tree | a380d84bb84db22d6c1c1b37b1364abf2b34be25 | |
parent | 03c2084c71b3d5e5968b7123863d8e9c767a22f9 (diff) | |
parent | 2d3919532a7531083a5e4db956401ff0e1356a77 (diff) |
Merge release-20210823.0-43-g2d3919532 (automated)
-rw-r--r-- | pkg/tcpip/transport/tcp/rcv.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/tcpip/transport/tcp/rcv.go b/pkg/tcpip/transport/tcp/rcv.go index 9ce8fcae9..90e493978 100644 --- a/pkg/tcpip/transport/tcp/rcv.go +++ b/pkg/tcpip/transport/tcp/rcv.go @@ -477,7 +477,7 @@ func (r *receiver) handleRcvdSegment(s *segment) (drop bool, err tcpip.Error) { // segments. This ensures that we always leave some space for the inorder // segments to arrive allowing pending segments to be processed and // delivered to the user. - if rcvBufSize := r.ep.ops.GetReceiveBufferSize(); rcvBufSize > 0 && r.PendingBufUsed < int(rcvBufSize)>>2 { + if rcvBufSize := r.ep.ops.GetReceiveBufferSize(); rcvBufSize > 0 && (r.PendingBufUsed+int(segLen)) < int(rcvBufSize)>>2 { r.ep.rcvQueueInfo.rcvQueueMu.Lock() r.PendingBufUsed += s.segMemSize() r.ep.rcvQueueInfo.rcvQueueMu.Unlock() |