From 8d06d52a9c53dc623b80f2dad0b2d798ff7bdd34 Mon Sep 17 00:00:00 2001 From: Nayana Bidari Date: Thu, 13 Nov 2025 14:34:06 -0800 Subject: [PATCH] Return empty events mask in Readiness when endpoint is closed. e.receiver in unix connectionless endpoints is nil only when the endpoint is closed. Return "no events" mask in this case. PiperOrigin-RevId: 832012550 --- pkg/sentry/socket/unix/transport/connectionless.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/sentry/socket/unix/transport/connectionless.go b/pkg/sentry/socket/unix/transport/connectionless.go index 86d6dfc2ac..f78bccc9e8 100644 --- a/pkg/sentry/socket/unix/transport/connectionless.go +++ b/pkg/sentry/socket/unix/transport/connectionless.go @@ -197,6 +197,12 @@ func (e *connectionlessEndpoint) Readiness(mask waiter.EventMask) waiter.EventMa defer e.Unlock() ready := waiter.EventMask(0) + // e.receiver is nil only when the endpoint is closed, return empty + // events mask in this case. + if e.receiver == nil { + return ready + } + if mask&waiter.ReadableEvents != 0 && e.receiver.Readable() { ready |= waiter.ReadableEvents }