mirror of
https://github.com/tailscale/tailscale.git
synced 2026-07-29 16:56:32 -04:00
Reader.Close set r.store to nil without holding r.mu, while reload read r.store while holding r.mu. If a policy store is closed while a concurrent reload is in flight, reload could observe a nil store and crash tailscaled with a nil interface method call in readPolicySettingValue. Nil out r.store only while holding r.mu, and make reload return the last known policy once the reader is closing instead of reading from a store that may no longer exist. Fixes tailscale/corp#45548 Fixes tailscale/triage#394 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> Change-Id: I494cfe9ea1df67b563bc061db9e6944f87b42a4e