From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=none (p=none dis=none) header.from=gibson.dropbear.id.au Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=gibson.dropbear.id.au header.i=@gibson.dropbear.id.au header.a=rsa-sha256 header.s=202512 header.b=gp+sLh/m; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 375F55A0271 for ; Fri, 30 Jan 2026 05:41:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202512; t=1769748065; bh=IIWuYsCQKbiECAXRtDwQXs8G+PeNslW3EmUfw1QPaIs=; h=From:To:Cc:Subject:Date:From; b=gp+sLh/mgAVtsn6/cgfpCwb4o8ZByR13gW6FxUa9je7mKna0bJaW6qogOvaBdFFfs J075jtIRXQRZS7hzKL4SbXLOEgTL4enbhV7k48nFBr+N5uqjq3bxraHYM0Q+uiikkv omA0oN8J6Xli1imuvDwT3YSK3DBvGVrRqzBqIIONJ3I6m3xvy83HYi/qXn8QWBPgGP oKz81e3NpVv7w6v5Vas3bM8u5nvB8bAuhV1ci1c8o3f97df9w7Z3eqC3qhEz6UYjdX e6jFcB5cftcFcxwXl7mbULT7Y2gRdl9JOBJVAJC86W1XskvWPfQ8WPXh8eg9K0FVc5 xRpZZVOEmxulg== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4f2Ncd3xnYz4wCx; Fri, 30 Jan 2026 15:41:05 +1100 (AEDT) From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH v2 0/3] Fix errors in FIN timeout logic Date: Fri, 30 Jan 2026 15:41:01 +1100 Message-ID: <20260130044104.1793253-1-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.52.0 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: ATTF4YF72RGOKXBAUG34VYO3SPSQVDLB X-Message-ID-Hash: ATTF4YF72RGOKXBAUG34VYO3SPSQVDLB X-MailFrom: dgibson@gandalf.ozlabs.org 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: David Gibson 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: While investigating bug 179, I found a number of things that confused me about the TCP timer handling. One of them, I think I figured out what's going on and what should be done about it. So, here are the changes. This is mostly about FIN handling and only tangentially about the timer, but it does at least slightly simplify the timer handling while I figure out the rest of it. Changes in v2: * Stefano pointed out some errors in my guesses at the history of things, evised commit message of 2/3 accordingly * Added 3/3 checking for shutdown(2) failures David Gibson (3): tcp: Retransmit FINs like data segments tcp: Eliminate FIN_TIMEOUT tcp, tcp_splice: Check for failures of shutdown(2) tcp.c | 49 ++++++++++++++++++++++++------------------------- tcp_buf.c | 1 + tcp_splice.c | 3 ++- tcp_vu.c | 1 + 4 files changed, 28 insertions(+), 26 deletions(-) -- 2.52.0