diff options
author | Bhasker Hariharan <bhaskerh@google.com> | 2020-11-30 20:11:33 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-11-30 20:13:26 -0800 |
commit | 79e2364933bbd34dceb0b9025e4e7d145fdf4492 (patch) | |
tree | 25992f0082f2324486f781e339298f98792d06b0 /test/syscalls/linux/rseq/critical_amd64.S | |
parent | 54ad145f2eb6d16a3a18b69e1c2adfa558639b72 (diff) |
Fix deadlock in UDP handleControlPacket path.
Fixing the sendto deadlock exposed yet another deadlock where a lock inversion
occurs on the handleControlPacket path where e.mu and demuxer.epsByNIC.mu are
acquired in reverse order from say when RegisterTransportEndpoint is called
in endpoint.Connect().
This fix sidesteps the issue by just making endpoint.state an atomic and gets rid
of the need to acquire e.mu in e.HandleControlPacket.
PiperOrigin-RevId: 344939895
Diffstat (limited to 'test/syscalls/linux/rseq/critical_amd64.S')
0 files changed, 0 insertions, 0 deletions