From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1.y 8/8] [AUTOMATED CONFLICT RESOLUTION] Documentation for 870a9e42ecc6fe1b8c25d87af043cb0d9c178fe1
Date: Tue, 1 Sep 2026 15:28:33 -0400 [thread overview]
Message-ID: <20260901192833.1439569-8-sashal@kernel.org> (raw)
In-Reply-To: <20260901192833.1439569-1-sashal@kernel.org>
This commit documents the automated conflict resolution performed by claude
for upstream commit 870a9e42ecc6fe1b8c25d87af043cb0d9c178fe1.
claude's resolution process:
================================================================================
Build passed clean (rc=0 on both x86 and arm64); all warnings are pre-existing/unrelated (dtsi clock warnings, xen/objtool noinstr warnings) and not caused by this change.
## Summary
**Conflict:** Single hunk in `net/ipv4/tcp_output.c:tcp_connect_init()`. Our tree's `window_clamp` assignment (`tp->window_clamp = ...`) lacks a `WRITE_ONCE()` wrapper that upstream added in a separate, unrelated commit not present in this tree. Git couldn't reconcile the two forms of that line since the target commit's context included the `WRITE_ONCE` wrapper.
**Resolution:** Kept our tree's existing line (`tp->window_clamp = dst_metric(dst, RTAX_WINDOW);`, no `WRITE_ONCE`) unchanged, and applied only the actual payload of this commit — replacing `dst_metric_advmss(dst)` with `tcp_dst_advmss(dst)` on that line, matching the other 4 (conflict-free) call sites. The resulting diff is a pure, minimal application of the upstream fix (new `tcp_dst_advmss()` helper in `include/net/tcp.h`, plus 5 call-site substitutions) — no divergence from the original commit beyond that one unavoidable context difference.
Commit `18e91d6e2785f` is on the branch with the original message and author (Yong Wang) preserved, and the build gate is green.
================================================================================
Backport verification analysis (via claude):
================================================================================
All 5 file/site changes match exactly (same stat as upstream), and no stray `dst_metric_advmss` call sites were left unconverted in the TCP paths (the remaining hit in `xfrm_policy.c` is outside this commit's scope, untouched upstream too). The build gate passed clean. This is a high-quality backport.
## Analysis
**1. Intent preservation — correct.** The helper `tcp_dst_advmss()` is added verbatim (`max_t(u32, dst_metric_advmss(dst), TCP_MIN_MSS)`), and all 5 call sites that upstream converts (`tcp_ipv4.c`, `tcp_minisocks.c`, `tcp_output.c` x3, `tcp_ipv6.c`) are converted identically. The fix's actual security-relevant payload — clamping route-derived advmss so it can never reach 0 and cause a divide-by-zero in `tcp_select_initial_window()` — is fully and correctly applied.
**2. Differences from upstream — justified.** The only textual difference (beyond expected line-number drift from tree divergence) is in `tcp_connect_init()`:
```
- WRITE_ONCE(tp->window_clamp, dst_metric(dst, RTAX_WINDOW)); // upstream
+ tp->window_clamp = dst_metric(dst, RTAX_WINDOW); // backport (unchanged)
```
I verified this is *not* something the backport dropped — the parent commit in this tree already had the plain assignment (no `WRITE_ONCE`), confirmed by `git show 488f5e59f0d9c^:net/ipv4/tcp_output.c` and a fruitless `git log -S"WRITE_ONCE(tp->window_clamp"` search. The `WRITE_ONCE` wrapping was introduced by a separate, unrelated upstream commit that was never backported to this tree — it's pure surrounding context that happened to collide with this commit's 3-line hunk during the 3-way merge, not part of this fix's payload. The resolver correctly recognized this and preserved the tree's existing form while applying only the actual substitution (`dst_metric_advmss(dst)` → `tcp_dst_advmss(dst)`) on that line.
**3. Potential concerns — none identified.**
- `TCP_MIN_MSS` (88U) already exists in this tree's `tcp.h`, so the helper compiles as-is.
- No other in-tree callers of `dst_metric_advmss()` were missed; the one remaining hit (`xfrm_policy.c`) is out of scope for this commit both upstream and here.
- Commit metadata (author, `Cc: stable`, `Fixes:`, `[ Upstream commit ... ]` line, dual SoB) is all intact and properly formatted.
- Build gate is green with no new warnings attributable to this change.
**4. Overall assessment: correct, minimal, faithful backport.** The single conflict was a genuine context mismatch from an unrelated, un-backported commit, and it was resolved with the minimum necessary divergence — no scope creep, no missed call sites, no incorrect logic. No issues found.
================================================================================
This is an empty commit for documentation purposes only.
--
2.53.0
prev parent reply other threads:[~2026-09-01 19:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 12:53 FAILED: patch "[PATCH] tcp: clamp route advmss to TCP_MIN_MSS" failed to apply to 6.1-stable tree gregkh
2026-09-01 19:28 ` [PATCH 6.1.y 1/8] net: dst: introduce dst->dev_rcu Sasha Levin
2026-09-01 19:28 ` [PATCH 6.1.y 2/8] ipv6: start using dst_dev_rcu() Sasha Levin
2026-09-01 19:28 ` [PATCH 6.1.y 3/8] ipv6: pass proto by value to ipv6_push_nfrag_opts() and ipv6_push_frag_opts() Sasha Levin
2026-09-01 19:28 ` [PATCH 6.1.y 4/8] inet: add dst4_mtu() and dst6_mtu() helpers Sasha Levin
2026-09-01 19:28 ` [PATCH 6.1.y 5/8] ipv6: use dst6_mtu() instead of dst_mtu() Sasha Levin
2026-09-01 19:28 ` [PATCH 6.1.y 6/8] ipv4: use dst4_mtu() " Sasha Levin
2026-09-01 19:28 ` [PATCH 6.1.y 7/8] tcp: clamp route advmss to TCP_MIN_MSS Sasha Levin
2026-09-01 19:28 ` Sasha Levin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260901192833.1439569-8-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox