From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f97.google.com (mail-dl1-f97.google.com [74.125.82.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C56683B583E for ; Thu, 7 May 2026 15:51:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.97 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778169109; cv=none; b=dFf/O5ERbnf2blc50q8s7iVGm+6LKy5zl27+nA2/Xz695mDp2nUOt9NflDu1D5RFSNmxzJPk7QvIOTZYBETKqxSz1AVOWqm+ln8yyB+9/xzDXzdY/+TtvtKPS1ufTbh/u3QF707nzSCzOvHZ/fP6EFBl3gQi7IpFLFZOEcO1HHk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778169109; c=relaxed/simple; bh=M15uTKwN3yvrhy6+C4e1xest8u1tFHkbzRM6zHTj0ow=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YOz97G+MupPEi0p1wa3WpFzxz7+FclfZRLx1IPhUpRkgfPBJ6WpKOFnZdDE8cBval45Vu9tnbX5s10lDl6v2ddGPY0DZwSvWe07l+9cEI1OV83OcAIXDmWcf07q95BWrBTuYqFljRyLGUnqTjzOd/Z0tiFx3NCrg0SJqvrLrWT8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=Gdxekxqm; arc=none smtp.client-ip=74.125.82.97 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="Gdxekxqm" Received: by mail-dl1-f97.google.com with SMTP id a92af1059eb24-12dc9b6beceso38637c88.1 for ; Thu, 07 May 2026 08:51:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778169107; x=1778773907; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BtLl8kOWvPMx0S+t/a7Mz9vgLX46fqlMMw8qeaNu9sU=; b=UsnzuMgQ4E8qTuttfKaA5MaVurKwYzQ+6Q72OdCzVMOwkJxbw1RyV0CA0CtJ5XXfuU XY/w1FQUo3l+lNsnfyRgLTnsAdsTWCP+RgaEAr1XB3d1BS3SLR94Ewf//cGAZ2CFEHW3 aBDoBDCmIqWAorm/wDf9z2k51pahTJLwYellsiQldOCiGYB8dTzjMscx5HMU/5DaCA0R pS24A/3QuvKhJPPLHoIXTMTiTzUdkHwnxAUM+SyWYMuVQVQ4CJg+V/TttjTDB8rsrEXd iWBi7+ZiNHlZU1Y1fDHf2UjbUWBxOgmo9tMAoivu+Q3Qc90qWqzY9foxV6oSFDLIeWfW If3w== X-Forwarded-Encrypted: i=1; AFNElJ9yuwgr1LyubiEp7ErF6iwOKsT9UYoalRfcPyeD6vZl+ok/ABWTFAbStBzFDLGM1P6+7Kcmi2QxME3IJmQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyzBMn6XS1Lr8ghYqJcoIutcfIcFcRLBVZxwqwaXjhUeZjCkVLm 6BWJLmE5zKTJJI5MeVXaZD4Z25mlP0ovnGtBmBrErtWtVbbASbjdVr0H9PVEkF8Dek72UcOve9K MGavD1ubijuh7KZBUa/4fHMcAlWH5O0KRnB/btlHX3ql11/K0ZsRF1EuoZgepOh0Mt+hToHYBoM C6krFhq3tsF9IcDUXC3XNAkIj9Fo4GExNMCvEXW7DHKMkUvpm67HJjizbo2nXa+4IqHQyyWJ74e injnfq5l6hMCW8vZPmxg7g= X-Gm-Gg: AeBDietj4NFgDYMIrOLk4NOiPPP8SSkn4uL/Dac21NLPThx297aog2OqhheK4jYYi4K Uj5D6o+z4CDgcU1ebeN0ryoh59HOPhFOmfOmD9yZhZvH0KFRadGaDrsGW/iMX1xvweawcxN3v9F kxghSSRQgF1STDoxXTUs4xKwb06Kl0nsSrd2Fjk5UJgcAiL7cD1oUnPe7t4Aw9BleBPeihzYurm wJvNgsVsVha0OonfvFi/cixMpQG3nTBQUv8n6qgApVYArAVNBcCu4jmw1bEeGyLRhC/LCC8qdr4 Fkl6ZiUd882lCVT6pjnNcMG5e9p3jgtzd80tkdZVmQewrmUmQxbBXwvENNBRFRT/cAVDKe36cN7 LiniLdsYyfmH1pw+iNtQzhiHYQIl7a6NfpvkpCRa2k+9cft8nFFdZSlRFsUOAn046+DIN8ggxX3 cT13E3zFsaMPrBWNdXDIZQEhU3yo5CzP7j/i/90J3k+giVYE9tjXlYsGVJvQ== X-Received: by 2002:a05:7022:2212:b0:130:8ed9:203e with SMTP id a92af1059eb24-1320ab4df9fmr1852325c88.0.1778169106518; Thu, 07 May 2026 08:51:46 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-21.dlp.protect.broadcom.com. [144.49.247.21]) by smtp-relay.gmail.com with ESMTPS id a92af1059eb24-131f99a5b1esm443089c88.3.2026.05.07.08.51.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 May 2026 08:51:46 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8d59968444aso27795285a.3 for ; Thu, 07 May 2026 08:51:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1778169105; x=1778773905; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BtLl8kOWvPMx0S+t/a7Mz9vgLX46fqlMMw8qeaNu9sU=; b=GdxekxqmEJ3Rx7hl0zllmscamtHQJ4J7UOFpKkbkp8NKpIqdhNX+OiXH8X/Hzzob18 TOwtRgpjTi54fGeYUicnI7/N8nW+9bJkSWnn5Mq9B0SwpwsuqYoe/1R0HSqV2tb8ALB8 RePp0S+PgS1JWMB0e6eANZfN4feGMDtfAbuV8= X-Forwarded-Encrypted: i=1; AFNElJ8Q5u+FqYx0XlapnvyhxvTg7pqMg9VfZtwCdYjNVSo0SJsCLzhS4RjktrSzqCissbjYUCtIJ2fbVLkSaUU=@vger.kernel.org X-Received: by 2002:a05:620a:4406:b0:8cf:d953:b4ec with SMTP id af79cd13be357-9051dafefc0mr754137685a.3.1778169105095; Thu, 07 May 2026 08:51:45 -0700 (PDT) X-Received: by 2002:a05:620a:4406:b0:8cf:d953:b4ec with SMTP id af79cd13be357-9051dafefc0mr754133685a.3.1778169104463; Thu, 07 May 2026 08:51:44 -0700 (PDT) Received: from photon-d7fac424c0d3 ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-90642b76d39sm240711885a.2.2026.05.07.08.51.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 May 2026 08:51:44 -0700 (PDT) From: Ankit Jain To: edumazet@google.com, netdev@vger.kernel.org Cc: kuba@kernel.org, davem@davemloft.net, pabeni@redhat.com, ncardwell@google.com, kuniyu@google.com, horms@kernel.org, shuah@kernel.org, quic_subashab@quicinc.com, quic_stranche@quicinc.com, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, karen.badiryan@broadcom.com, ajay.kaher@broadcom.com, alexey.makhalov@broadcom.com, vamsi-krishna.brahmajosyula@broadcom.com, yin.ding@broadcom.com, tapas.kundu@broadcom.com, Ankit Jain Subject: [PATCH net v3 1/2] tcp: protect locked SO_RCVBUF from Silly Window Syndrome Date: Thu, 7 May 2026 15:48:05 +0000 Message-ID: <20260507154806.18635-2-ankit-aj.jain@broadcom.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260507154806.18635-1-ankit-aj.jain@broadcom.com> References: <20260507154806.18635-1-ankit-aj.jain@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e When an application locks SO_RCVBUF, it disables TCP window auto-tuning. However, the kernel still applies dynamic truesize penalties to the scaling_ratio. For small packets, this penalty drops the scaling_ratio to 1. This reduces the advertised window and causes Silly Window Syndrome (SWS) along with 504 Gateway Timeouts in applications like Tomcat. This patch bypasses the truesize penalty if SOCK_RCVBUF_LOCK is set. To prevent memory exhaustion from large aggregate payloads, the penalty is still applied for GRO packets (skb->len > len). Fixes: a2cbb1603943 ("tcp: Update window clamping condition") Reported-by: Karen Badiryan Signed-off-by: Ankit Jain --- net/ipv4/tcp_input.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index d5c9e65d9760..4b1832b3face 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -240,8 +240,13 @@ static void tcp_measure_rcv_mss(struct sock *sk, const struct sk_buff *skb) /* Note: divides are still a bit expensive. * For the moment, only adjust scaling_ratio * when we update icsk_ack.rcv_mss. + * + * Bypass truesize penalty for locked SO_RCVBUF to prevent + * window collapse. Still apply it to GRO packets. */ - if (unlikely(len != icsk->icsk_ack.rcv_mss)) { + if (unlikely(len != icsk->icsk_ack.rcv_mss && + (!(sk->sk_userlocks & SOCK_RCVBUF_LOCK) || + skb->len > len))) { u64 val = (u64)skb->len << TCP_RMEM_TO_WIN_SCALE; u8 old_ratio = tcp_sk(sk)->scaling_ratio; -- 2.53.0