summaryrefslogtreecommitdiffhomepage
path: root/pkg/buffer/pool.go
diff options
context:
space:
mode:
authorMithun Iyer <iyerm@google.com>2021-03-16 15:06:26 -0700
committergVisor bot <gvisor-bot@google.com>2021-03-16 15:08:09 -0700
commit5eede4e7563e245a685d6529dffddbf9c3a53f50 (patch)
treee18e4bb3a03dd08a70e7176a24a58969edc27129 /pkg/buffer/pool.go
parent607a1e481c276c8ab0c3e194ed04b38bc07b71b6 (diff)
Fix a race with synRcvdCount and accept
There is a race in handling new incoming connections on a listening endpoint that causes the endpoint to reply to more incoming SYNs than what is permitted by the listen backlog. The race occurs when there is a successful passive connection handshake and the synRcvdCount counter is decremented, followed by the endpoint delivered to the accept queue. In the window of time between synRcvdCount decrementing and the endpoint being enqueued for accept, new incoming SYNs can be handled without honoring the listen backlog value, as the backlog could be perceived not full. Fixes #5637 PiperOrigin-RevId: 363279372
Diffstat (limited to 'pkg/buffer/pool.go')
0 files changed, 0 insertions, 0 deletions