From 21dd960a7337dde2e07a645a379a1ae3ce4e5e0f Mon Sep 17 00:00:00 2001 From: Cory Snider Date: Thu, 29 Jan 2026 18:14:56 -0500 Subject: [PATCH] d/libnetwork: fix (*Controller).getLBIndex panics Check the serviceBinding's deleted flag to guard against the service getting deleted before we locked its mutex, which would make it futile to look up the load balancers. And guard against dereferencing a nil *loadBalancer in general. Signed-off-by: Cory Snider --- daemon/libnetwork/service_common.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/daemon/libnetwork/service_common.go b/daemon/libnetwork/service_common.go index 38a313db03..65d0a7ca8c 100644 --- a/daemon/libnetwork/service_common.go +++ b/daemon/libnetwork/service_common.go @@ -160,9 +160,14 @@ func (c *Controller) getLBIndex(sid, nid string, ingressPorts []*PortConfig) int } s.Lock() + defer s.Unlock() + if s.deleted { + return 0 + } lb := s.loadBalancers[nid] - s.Unlock() - + if lb == nil { + return 0 + } return int(lb.fwMark) }