tailscale/control/controlclient
Claus Lensbøl 4334dfa7d5
control/controlclient: take mapsession and release lock early in sub (#19192)
The disco key subscriber could deadlock in a scenario where a self node
update came through the control path into the mapSession after the disco
key subscriber had taken the lock, but before it had pushed the netmap
change, as both the subscriber and onSelfNodeChanged needs the
controlclient lock.

The subscriber can safely take the mapsession as the changequeue has its
own lock for inserting records, and also checks if the queue has been
closed before inserting.

Updates #12639

Signed-off-by: Claus Lensbøl <claus@tailscale.com>
2026-03-31 12:47:13 -04:00
..
auto.go control/controlclient,ipn/ipnlocal,wgengine: avoid restarting wireguard when key is learned via tsmp (#19142) 2026-03-30 14:26:08 -04:00
client.go control,health,ipn: move IP forwarding check to health tracker (#19007) 2026-03-18 16:24:12 -04:00
controlclient_test.go all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
direct_test.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
direct.go control/controlclient: take mapsession and release lock early in sub (#19192) 2026-03-31 12:47:13 -04:00
errors.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
map_test.go control/controlclient,ipn/ipnlocal,wgengine: avoid restarting wireguard when key is learned via tsmp (#19142) 2026-03-30 14:26:08 -04:00
map.go control/controlclient,ipn/ipnlocal,wgengine: avoid restarting wireguard when key is learned via tsmp (#19142) 2026-03-30 14:26:08 -04:00
sign_supported_test.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
sign_supported.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
sign_unsupported.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
sign.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
status.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00