From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=TfriLvEF; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by passt.top (Postfix) with ESMTPS id C93A75A061E for ; Thu, 13 Nov 2025 23:22:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763072536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pEUqQeP/BABcS0zlePN0M/95apjHLAambDmEtRF7yLw=; b=TfriLvEFe95SR9v5U0BDcei2QFabwe7IA0qkMbN9qevvxCLKC/Mwvm+t/jaJiozYlJpc/7 wRL6OHYT+41OCNeHCUIygttBw6TZpzXKVkUaHyDeQykBT1Y03IZ0KCkxC2EDQpVWY9lDaX /skoDAgkp0TPJdj5gB7soeuCczIu3+8= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-202-U9dSKc_WML66JrHvkXlgbg-1; Thu, 13 Nov 2025 17:22:15 -0500 X-MC-Unique: U9dSKc_WML66JrHvkXlgbg-1 X-Mimecast-MFC-AGG-ID: U9dSKc_WML66JrHvkXlgbg_1763072534 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-42b56125e77so535803f8f.3 for ; Thu, 13 Nov 2025 14:22:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763072533; x=1763677333; h=content-transfer-encoding:mime-version:organization:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pEUqQeP/BABcS0zlePN0M/95apjHLAambDmEtRF7yLw=; b=XJ1yTgxMMdQFo605G/8uhcGMR/8W8oAxuKYXUFQDs4MijpQFDiy/47qP1fdbqypAh3 1O1+Lb46/PlC1HETySNFI9eeXLHlkZruErUdlPtEJvAAkzUdDhsw6Y1hOkkuAfiNryh7 +u8eaeZ35qF/u0YMTtE9EyhsjFjGGIJJicYHoBsGCdDhtZa+x0plIGbrSzMKxDWtfnun awdtsCV838GEyo669B/dwlbaAKm2GlxFJFgBSC2WmKId8gfySmMDhtho9zs144K4AFXq XE9ca4BNFS1FIWP534fWcrLvx0P6VhHTImYo1D+5+RWbufXV8OkNsE3c7tMljRpTKsK/ s3KQ== X-Gm-Message-State: AOJu0Yz5ORPez1SNpmxYOBZBkC4bqU5BI7QePq8h7nsGUev8svsNcQm+ WtSvNRe3MMOoFVfuKCvvpbf7AUzho3eNxVPTAfBRmhMoNuIgsayjiEFjRmTUEhYkKjJTZwZTdDZ 3MK3PVeqHWI8vRuFTa/u43IYOa99a6knNaQe8msy4hbRxWBvQoC30rggmyc0lsQ== X-Gm-Gg: ASbGncvgPUAWjV+8UZlzW5kUyFyPhwN9jjGqAn2I9uNLySKIzfSlLQTLUdjfHDW8c5j Hf2U/jGL6q1Aw6jnTeZjWsSRO2qMy9NnVp52IefEzxUB8teUhyt9IJYUpv35mktrwhOs6OJLmxL MI8A/51qDhcyZwZm9bLuoRH/hQQardoT2r0AI3K7mMqAA59oSCBR5zNkYeWdEQzm86thwJD9mxR aZ3g9YNqfrTCMOkoUvVgxp8t3IWS7mm3aTHoSj89PgX26g9gQekRK0sYOR2aVLVu8ETe05BPHHE HJQ/UEDRTual4cRJu1MTtGO3qTbtRYZlB+03pdiwpEy83fWqKl7HVn5HSQXCTqKB2guGkBYVSgH MYD3PoxZml7Hia5FBRkgyrDOxc9mnzikEO13Fvg== X-Received: by 2002:a05:6000:4312:b0:429:66bf:1463 with SMTP id ffacd0b85a97d-42b59398ad7mr881468f8f.44.1763072533080; Thu, 13 Nov 2025 14:22:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IEZJ51UvicvYs4azi+628ECnOtQXqXTMBukLU9kbHhFSBSkYmwmQRkwMMLDCdIDxA02N9TUNw== X-Received: by 2002:a05:6000:4312:b0:429:66bf:1463 with SMTP id ffacd0b85a97d-42b59398ad7mr881461f8f.44.1763072532626; Thu, 13 Nov 2025 14:22:12 -0800 (PST) Received: from maya.myfinge.rs (ifcgrfdd.trafficplex.cloud. [176.103.220.4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42b53f206e2sm6220687f8f.41.2025.11.13.14.22.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 14:22:11 -0800 (PST) Date: Thu, 13 Nov 2025 23:21:58 +0100 From: Stefano Brivio To: David Gibson Subject: Re: [PATCH] tcp: Properly remove sockets from epoll loop when connection is closed Message-ID: <20251113232158.280b89e3@elisabeth> In-Reply-To: <20251111032520.64266-1-david@gibson.dropbear.id.au> References: <20251111032520.64266-1-david@gibson.dropbear.id.au> Organization: Red Hat X-Mailer: Claws Mail 4.2.0 (GTK 3.24.49; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 5-BZqmKwAJ39vU3ooKf0qQoCB-BFS5GydPrfT_P_7dk_1763072534 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-ID-Hash: KDIJY6RWLVXHEY5N455SOENQ2HXGGXOV X-Message-ID-Hash: KDIJY6RWLVXHEY5N455SOENQ2HXGGXOV X-MailFrom: sbrivio@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: passt-dev@passt.top X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Tue, 11 Nov 2025 14:25:20 +1100 David Gibson wrote: > Most of the handling for closing a TCP connectin is in conn_event_do() when > it receives a 'CLOSED' event. We specifically check for this case and, > correctly, remove the connection from the flow hash table. However, we > also bypass the call tp tcp_epoll_ctl() which is not correct. By skipping > tcp_epoll_ctl() we skip it's specific handling of the CLOSED event, which > includes removing the TCP socket from epoll. > > If we somehow get an event on such a stale socket, we'll get a stale flow > reference. That flow slot might have been re-used, leading to to a crash > in conn_at_sidx(). > > Fixes: b86afe3559c0 ("tcp: Don't defer hash table removal") > Signed-off-by: David Gibson Applied. -- Stefano