diff options
author | Arthur Sfez <asfez@google.com> | 2021-09-21 16:09:58 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-09-21 16:13:18 -0700 |
commit | c633a7f9d1c15c8f1639a95809d875576ac7707f (patch) | |
tree | cc4fcc8907d982225664616470e4f04905797c37 /pkg/state/decode_unsafe.go | |
parent | c485602ded3982f8fd1078e34a4b298879f1807e (diff) |
Deliver endpoints to the accept queue synchronously when possible
Before this change, when a new connection was created after receiving
an ACK that matched a SYN-cookie, it was always delivered asynchronously
to the accept queue. There was a chance that the listening endpoint
would process a SYN from another client before the delivery happened,
and the listening endpoint would not know yet that the queue was about
to be full, once the delivery happened.
Now, when an ACK matching a SYN-cookie is received, the new endpoint is
created and moved to the accept queue synchronously, while holding the
accept lock.
Fixes #6545
PiperOrigin-RevId: 398107254
Diffstat (limited to 'pkg/state/decode_unsafe.go')
0 files changed, 0 insertions, 0 deletions