mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-13 22:47:30 +00:00
wgengine/magicsock: fix magicsock deadlock around Conn.NoteRecvActivity (#16687)
Updates #16651 Updates tailscale/corp#30836 Signed-off-by: Jordan Whited <jordan@tailscale.com>
This commit is contained in:
@@ -4119,8 +4119,11 @@ func (le *lazyEndpoint) InitiationMessagePublicKey(peerPublicKey [32]byte) {
|
||||
return
|
||||
}
|
||||
le.c.mu.Lock()
|
||||
defer le.c.mu.Unlock()
|
||||
ep, ok := le.c.peerMap.endpointForNodeKey(pubKey)
|
||||
// [Conn.mu] must not be held while [Conn.noteRecvActivity] is called, which
|
||||
// [endpoint.noteRecvActivity] can end up calling. See
|
||||
// [Options.NoteRecvActivity] docs.
|
||||
le.c.mu.Unlock()
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user