From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f98.google.com (mail-dl1-f98.google.com [74.125.82.98]) (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 16DF03DEAD3 for ; Mon, 4 May 2026 14:53:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.98 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777906419; cv=none; b=FKH1gEmwDRXF8K8Xwdoj5yBF31J7iC8nH5O7LX2nQWccESKlf9XkbMsAktTdgqJPKoFUfYq0uNCjCWakqZiHrRgHQvpBA5kKtWG6K6im2zM5jRKwWQ2N5fP06NxwLEXVXWZPyeNe6ebxJGthmOEumf/QD8giO7C85eBfzwAAgV4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777906419; c=relaxed/simple; bh=Q2URSNx8B/upwfVANDhtXGow03GK4tWmrRjookPjOBA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=YQMW7g6rk29+JjZRxfmVfl4lTJg1oznVd/mnpI2Hqv+AI3r2jSwQw3zzKDeGmMFXDDRLFSKM8rmi98FGnc9gnQfddBXleZ8X50tYK7sJth4GonhO42J6qHnkAzvnMONyIijIsgdNUWVGbuPtowFWAzHjijSLM8+nvMWAT3RmTzQ= 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=UBO/3QyM; arc=none smtp.client-ip=74.125.82.98 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="UBO/3QyM" Received: by mail-dl1-f98.google.com with SMTP id a92af1059eb24-12dc1c0b724so353165c88.1 for ; Mon, 04 May 2026 07:53:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777906417; x=1778511217; h=content-transfer-encoding:mime-version: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=dhl1El7Ec0BsiUHbTpDBR+jiTk0km6h08mEdzxE8DPs=; b=Re7HF1O2EdV8l3PAf0JvpQDR+r81UFfV+3n4CJyoAVpwbYDpoq/TB8q+bQWTzp0NcM IfL5FvGNeoC9EPAgy8YZg91+yGq3CMkNjsatLhMykN/u0vM8E3beXWj3doYGi2FGsW69 cX0NReDyiQ6nt6rVrgLFkJnQlBg/tG9KkUVtIQup1MHeUA3d1aOZkXrcCZYQCmNDYmUB +VabUiGAlo8zzKCzSnEhRdmuzcSIJDmfTTBUCBBdIJMqpB2NMasTF6PK2+NPyHHnIe+z ZGDiZIobs5VYJM99TcxncEH5QUBl3gtgkuhQczi0X4buRUsQ1yQk++Kp4LFBAd+KLemJ Wl+w== X-Forwarded-Encrypted: i=1; AFNElJ+Ys/MAPvu7fJ8XOvOIOFCG+AC1ylvSgRQMWBylT9B6+BqNT9CrtYxxEuwg82PIQEx0xG1wnS/gIWk/hl0=@vger.kernel.org X-Gm-Message-State: AOJu0YyYooeesGb5PKTr2Rv5sgoDVFvwahnp8HpG39kSt8Wa3V60sYKz mMMFHexbuq16tVAZ/KeuJ5zDQbp5JRQJjio4ki0luyzBN3NxyBbAqM89GjBKk8tzbpNLWLJZDHq DtCBrQgiE8VyKCsWqcRNKkI5AbulKGHyj77acpJ0MMOAyZTLF4PeLd5AP1jIIVfJfbLXoax1MDA XmBCE4xpzd/KQIYkLErnUL2C60WyUrSz9jwyYX+AKc3XxZxSZ1KPifggCNN697GegVdySzRSEZt +1HJB01pWZBzOuCtiKeoto= X-Gm-Gg: AeBDiesoj1xkt+RqgzPH00KVaVtp/2Bk2sU5wH8d1+KK7SUlLkFmOeb25IQ8d0R/9VV X+DYae/NiQy+unAXBBMXXNqLj4fYSQTh5hILZRb/2FAhReEcPD96Op/YaUBdups8AAKg4ALOPR4 pzjGj5/2TGR+WUyEqpxPfK8aw53AjmH5tJFAYCP1h9pgg73YVWeUQbVfArgwxpFKXfIUNo1FzvV b5vUB/o9zYL4u+ya8ANx0HgMnzMqrzqO7nFzAt8Ukensb28Suqv9ePek8ofesbhlebiFqivgxT5 KbBAFhvVe3XJdY0QfidbcplnmcLoCfzP4h04se8Zz+NVz2otJpOvxmx3c0vkYIrKQYJvdhO9dCr jP/ZDvwZGhDYGgcNTL0enO+NQV3ZXveQorzt/KS+B3DnjgS/uUqhxgSOAkhkl80Wx8mOalNHN80 /3NEUp6XDWQbgGcWdoMphsWUcU7+mDaNvOnwI/q04RQccAcEmz3AoJgYwq2ByXB2q9VO8UuPA= X-Received: by 2002:a05:7300:bc08:b0:2ed:6f94:9d90 with SMTP id 5a478bee46e88-2efba1800aamr2329614eec.5.1777906416693; Mon, 04 May 2026 07:53:36 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-121.dlp.protect.broadcom.com. [144.49.247.121]) by smtp-relay.gmail.com with ESMTPS id 5a478bee46e88-2ee3bd694d0sm865601eec.17.2026.05.04.07.53.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 May 2026 07:53:36 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8d45ebdbc9fso113884885a.1 for ; Mon, 04 May 2026 07:53:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1777906415; x=1778511215; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=dhl1El7Ec0BsiUHbTpDBR+jiTk0km6h08mEdzxE8DPs=; b=UBO/3QyMV85iRhm3tz5bk/CMpTWJIyU0+KT4fJQmfohU+NH7Is0t91gHR343ROZj8I BWanBRmtA45FutDlK+SS7nt45O7VLi6gwW2RsK2rtm8rBTfM+XgFKQD5RJfeAipv2osK 3dUtHibrzahhBYOEPAta3oZpDGLN7fSoCY2is= X-Forwarded-Encrypted: i=1; AFNElJ8yacZdX2VI4Bat8t1GS+mewzzR+lf83qPgBWetMBPEAim/MHc8FGuRaNmOJypw4pqS7kv15FATgYULY2M=@vger.kernel.org X-Received: by 2002:a05:620a:31a2:b0:8ee:f43a:bb63 with SMTP id af79cd13be357-8fd128ac3b1mr984116785a.0.1777906415190; Mon, 04 May 2026 07:53:35 -0700 (PDT) X-Received: by 2002:a05:620a:31a2:b0:8ee:f43a:bb63 with SMTP id af79cd13be357-8fd128ac3b1mr984112285a.0.1777906414615; Mon, 04 May 2026 07:53:34 -0700 (PDT) Received: from photon-d7fac424c0d3 ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8fc2c91fb3bsm1046315985a.41.2026.05.04.07.53.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 07:53:34 -0700 (PDT) From: Ankit Jain To: edumazet@google.com, kuba@kernel.org, netdev@vger.kernel.org Cc: 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 v2 0/2] tcp: protect locked SO_RCVBUF from Silly Window Syndrome Date: Mon, 4 May 2026 14:49:43 +0000 Message-ID: <20260504144945.13477-1-ankit-aj.jain@broadcom.com> X-Mailer: git-send-email 2.53.0 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 This series fixes a regression where locked SO_RCVBUF sockets suffer from Silly Window Syndrome (SWS). Recent memory fragmentation optimizations apply truesize penalties to the scaling_ratio. For applications locking SO_RCVBUF (like Java/Tomcat) and processing small packets, this drops the scaling_ratio to 1. This collapses the advertised window and causes 504 Gateway Timeouts. Patch 1 bypasses this penalty for locked buffers unless skb->len > advmss. Patch 2 adds a packetdrill test. Link to v1: https://lore.kernel.org/all/20260427152756.1205-1-ankit-aj.jain@broadcom.com/ v1 -> v2: - Shifted protection from window_clamp to scaling_ratio based on Jakub Kicinski's feedback. - Added skb->len > advmss check to ensure large aggregate payloads (GRO) are still penalized. This allows tcp_rcv_neg_window.pkt to pass. - Added a new packetdrill test (Patch 2/2). Testing: - Verified fix in a live Java/Tomcat environment (504 timeouts resolved). - Verified deadlock prevention via the new tcp_locked_rcvbuf_sws.pkt. - Passed upstream regression tests: tcp_rcv_neg_window.pkt, tcp_rcv_wnd_shrink_allowed.pkt, tcp_rcv_wnd_shrink_nomem.pkt, tcp_rcv_zero_wnd_fin.pkt, and tcp_rcv_big_endseq.pkt. Ankit Jain (2): tcp: protect locked SO_RCVBUF from Silly Window Syndrome selftests/net: add packetdrill test for locked SO_RCVBUF SWS net/ipv4/tcp_input.c | 8 ++++- .../net/packetdrill/tcp_locked_rcvbuf_sws.pkt | 34 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tools/testing/selftests/net/packetdrill/tcp_locked_rcvbuf_sws.pkt -- 2.53.0