From: Greg Kroah-Hartman Date: Mon, 22 Sep 2025 05:51:53 +0000 (+0200) Subject: 6.6-stable patches X-Git-Tag: v6.1.154~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5d7b770ff856a6452ef9acbfa28db70f270da0e;p=thirdparty%2Fkernel%2Fstable-queue.git 6.6-stable patches added patches: mptcp-propagate-shutdown-to-subflows-when-possible.patch rtc-pcf2127-fix-spi-command-byte-for-pcf2131-backport.patch --- diff --git a/queue-6.6/mptcp-propagate-shutdown-to-subflows-when-possible.patch b/queue-6.6/mptcp-propagate-shutdown-to-subflows-when-possible.patch new file mode 100644 index 0000000000..8245170f19 --- /dev/null +++ b/queue-6.6/mptcp-propagate-shutdown-to-subflows-when-possible.patch @@ -0,0 +1,84 @@ +From stable+bounces-180860-greg=kroah.com@vger.kernel.org Mon Sep 22 02:09:55 2025 +From: Sasha Levin +Date: Sun, 21 Sep 2025 20:09:47 -0400 +Subject: mptcp: propagate shutdown to subflows when possible +To: stable@vger.kernel.org +Cc: "Matthieu Baerts (NGI0)" , Mat Martineau , Geliang Tang , Jakub Kicinski , Sasha Levin +Message-ID: <20250922000947.3097293-1-sashal@kernel.org> + +From: "Matthieu Baerts (NGI0)" + +[ Upstream commit f755be0b1ff429a2ecf709beeb1bcd7abc111c2b ] + +When the MPTCP DATA FIN have been ACKed, there is no more MPTCP related +metadata to exchange, and all subflows can be safely shutdown. + +Before this patch, the subflows were actually terminated at 'close()' +time. That's certainly fine most of the time, but not when the userspace +'shutdown()' a connection, without close()ing it. When doing so, the +subflows were staying in LAST_ACK state on one side -- and consequently +in FIN_WAIT2 on the other side -- until the 'close()' of the MPTCP +socket. + +Now, when the DATA FIN have been ACKed, all subflows are shutdown. A +consequence of this is that the TCP 'FIN' flag can be set earlier now, +but the end result is the same. This affects the packetdrill tests +looking at the end of the MPTCP connections, but for a good reason. + +Note that tcp_shutdown() will check the subflow state, so no need to do +that again before calling it. + +Fixes: 3721b9b64676 ("mptcp: Track received DATA_FIN sequence number and add related helpers") +Cc: stable@vger.kernel.org +Fixes: 16a9a9da1723 ("mptcp: Add helper to process acks of DATA_FIN") +Reviewed-by: Mat Martineau +Reviewed-by: Geliang Tang +Signed-off-by: Matthieu Baerts (NGI0) +Link: https://patch.msgid.link/20250912-net-mptcp-fix-sft-connect-v1-1-d40e77cbbf02@kernel.org +Signed-off-by: Jakub Kicinski +[ Adjust context ] +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + net/mptcp/protocol.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +--- a/net/mptcp/protocol.c ++++ b/net/mptcp/protocol.c +@@ -415,6 +415,20 @@ static void mptcp_close_wake_up(struct s + sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN); + } + ++static void mptcp_shutdown_subflows(struct mptcp_sock *msk) ++{ ++ struct mptcp_subflow_context *subflow; ++ ++ mptcp_for_each_subflow(msk, subflow) { ++ struct sock *ssk = mptcp_subflow_tcp_sock(subflow); ++ bool slow; ++ ++ slow = lock_sock_fast(ssk); ++ tcp_shutdown(ssk, SEND_SHUTDOWN); ++ unlock_sock_fast(ssk, slow); ++ } ++} ++ + static bool mptcp_pending_data_fin_ack(struct sock *sk) + { + struct mptcp_sock *msk = mptcp_sk(sk); +@@ -438,6 +452,7 @@ static void mptcp_check_data_fin_ack(str + break; + case TCP_CLOSING: + case TCP_LAST_ACK: ++ mptcp_shutdown_subflows(msk); + mptcp_set_state(sk, TCP_CLOSE); + break; + } +@@ -605,6 +620,7 @@ static bool mptcp_check_data_fin(struct + mptcp_set_state(sk, TCP_CLOSING); + break; + case TCP_FIN_WAIT2: ++ mptcp_shutdown_subflows(msk); + mptcp_set_state(sk, TCP_CLOSE); + break; + default: diff --git a/queue-6.6/rtc-pcf2127-fix-spi-command-byte-for-pcf2131-backport.patch b/queue-6.6/rtc-pcf2127-fix-spi-command-byte-for-pcf2131-backport.patch new file mode 100644 index 0000000000..1c3e4c1d23 --- /dev/null +++ b/queue-6.6/rtc-pcf2127-fix-spi-command-byte-for-pcf2131-backport.patch @@ -0,0 +1,58 @@ +From bruno.thomsen@gmail.com Sun Sep 21 19:35:33 2025 +From: Bruno Thomsen +Date: Wed, 20 Aug 2025 21:30:16 +0200 +Subject: rtc: pcf2127: fix SPI command byte for PCF2131 backport +To: linux-rtc@vger.kernel.org +Cc: bruno.thomsen@gmail.com, stable@vger.kernel.org, Alexandre Belloni , Elena Popa , Hugo Villeneuve +Message-ID: <20250820193016.7987-1-bruno.thomsen@gmail.com> + +From: Bruno Thomsen + +When commit fa78e9b606a472495ef5b6b3d8b45c37f7727f9d upstream was +backported to LTS branches linux-6.12.y and linux-6.6.y, the SPI regmap +config fix got applied to the I2C regmap config. Most likely due to a new +RTC get/set parm feature introduced in 6.14 causing regmap config sections +in the buttom of the driver to move. LTS branch linux-6.1.y and earlier +does not have PCF2131 device support. + +Issue can be seen in buttom of this diff in stable/linux.git tree: +git diff master..linux-6.12.y -- drivers/rtc/rtc-pcf2127.c + +Fixes: ee61aec8529e ("rtc: pcf2127: fix SPI command byte for PCF2131") +Fixes: 5cdd1f73401d ("rtc: pcf2127: fix SPI command byte for PCF2131") +Cc: stable@vger.kernel.org +Cc: Alexandre Belloni +Cc: Elena Popa +Cc: Hugo Villeneuve +Signed-off-by: Bruno Thomsen +Signed-off-by: Greg Kroah-Hartman +--- + drivers/rtc/rtc-pcf2127.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/drivers/rtc/rtc-pcf2127.c ++++ b/drivers/rtc/rtc-pcf2127.c +@@ -1383,11 +1383,6 @@ static int pcf2127_i2c_probe(struct i2c_ + variant = &pcf21xx_cfg[type]; + } + +- if (variant->type == PCF2131) { +- config.read_flag_mask = 0x0; +- config.write_flag_mask = 0x0; +- } +- + config.max_register = variant->max_register, + + regmap = devm_regmap_init(&client->dev, &pcf2127_i2c_regmap, +@@ -1461,6 +1456,11 @@ static int pcf2127_spi_probe(struct spi_ + variant = &pcf21xx_cfg[type]; + } + ++ if (variant->type == PCF2131) { ++ config.read_flag_mask = 0x0; ++ config.write_flag_mask = 0x0; ++ } ++ + config.max_register = variant->max_register; + + regmap = devm_regmap_init_spi(spi, &config); diff --git a/queue-6.6/series b/queue-6.6/series index ff2b8437d3..b577e648ac 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -62,3 +62,5 @@ phy-ti-omap-usb2-fix-device-leak-at-unbind.patch xhci-dbc-decouple-endpoint-allocation-from-initialization.patch xhci-dbc-fix-full-dbc-transfer-ring-after-several-reconnects.patch iommu-amd-pgtbl-fix-possible-race-while-increase-page-table-level.patch +rtc-pcf2127-fix-spi-command-byte-for-pcf2131-backport.patch +mptcp-propagate-shutdown-to-subflows-when-possible.patch