Netdev List
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Chuck Lever <chuck.lever@oracle.com>,
	Sabrina Dubroca <sd@queasysnail.net>,
	Hannes Reinecke <hare@suse.de>, Jakub Kicinski <kuba@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	john.fastabend@gmail.com, davem@davemloft.net,
	edumazet@google.com, pabeni@redhat.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 6.18-6.6] tls: Flush backlog before waiting for a new record
Date: Mon, 31 Aug 2026 09:23:07 -0400	[thread overview]
Message-ID: <20260831133314.4125787-159-sashal@kernel.org> (raw)
In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org>

From: Chuck Lever <chuck.lever@oracle.com>

[ Upstream commit edcf32b8a48f5882b5b7a91b21c89d233d4aecf2 ]

While lock_sock is held, incoming TCP segments land on
sk->sk_backlog rather than sk->sk_receive_queue.
tls_rx_rec_wait() inspects only sk_receive_queue, so backlog
data remains invisible. For non-blocking callers (read_sock,
and recvmsg or splice_read with MSG_DONTWAIT) this causes a
spurious -EAGAIN. For blocking callers it forces an
unnecessary sleep/wakeup cycle.

Flush the backlog inside tls_rx_rec_wait() before checking
sk_receive_queue so the strparser can parse newly-arrived
segments immediately. On the next loop iteration
tls_read_flush_backlog() may redundantly flush, but this
path is cold and the cost is negligible.

Backlog processing can run tcp_reset(), which calls
tcp_done_with_error() to set sk->sk_err = ECONNRESET and then
tcp_done() to set sk->sk_shutdown = SHUTDOWN_MASK. The pre-existing
top-of-loop sk_err check already ran before the flush, so the
freshly-set error would be masked by the next-line sk_shutdown test
returning 0 (EOF). Re-check sk_err immediately before the sk_shutdown
test so a connection abort surfaces as -ECONNRESET rather than a clean
EOF.

Commit f508262ae9f2 ("tls: Preserve sk_err across recvmsg() when
data has been copied") gave the top-of-loop sk_err check a
has_copied split. The recheck applies the same handling: when the
caller has already copied bytes, sk_err is reported but preserved
so the error surfaces on the next call; otherwise sock_error()
consumes it so the error is reported exactly once.

Suggested-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://lore.kernel.org/netdev/ahgHgQ84RCc8uYrG@krikkit/
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/20260604-tls-read-sock-v12-6-b114efa6e3e2@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

# Stable Backport Analysis: `tls: Flush backlog before waiting for a new
record`

**Local tree:** v6.18.44 (`make kernelversion` → 6.18.44)
**Commit analyzed:** `edcf32b8a48f5` (on `master`, **not** in this
checkout)

---

## PHASE 1: COMMIT MESSAGE FORENSICS

### Step 1.1: Subject Line
**Record:** `[tls]` `[flush]` — Flush socket backlog inside
`tls_rx_rec_wait()` before inspecting `sk_receive_queue` and before
sleeping.

### Step 1.2: Tags
**Record:**
| Tag | Value |
|-----|-------|
| Suggested-by | Sabrina Dubroca \<sd@queasysnail.net\> |
| Link | https://lore.kernel.org/netdev/ahgHgQ84RCc8uYrG@krikkit/ |
| Reviewed-by | Hannes Reinecke \<hare@suse.de\> |
| Reviewed-by | Sabrina Dubroca \<sd@queasysnail.net\> |
| Link | https://patch.msgid.link/20260604-tls-read-
sock-v12-6-b114efa6e3e2@oracle.com |
| Signed-off-by | Chuck Lever, Jakub Kicinski |

No `Fixes:`, `Reported-by:`, `Cc: stable@vger.kernel.org`, or syzbot
tags. Two subsystem reviewers reviewed it. No syzbot signal.

### Step 1.3: Body Analysis
**Record:**
- **Bug 1:** While `lock_sock` is held, TCP segments land on
  `sk->sk_backlog`, but `tls_rx_rec_wait()` only checks
  `sk->sk_receive_queue`. Backlog data is invisible → spurious `-EAGAIN`
  for non-blocking callers (`read_sock`, `MSG_DONTWAIT` recvmsg/splice);
  unnecessary sleep/wakeup for blocking callers.
- **Bug 2:** `sk_flush_backlog()` can invoke `tcp_reset()` → sets
  `sk_err` then `sk_shutdown`. Top-of-loop `sk_err` check already ran;
  `sk_shutdown` test returns 0 (EOF) → connection abort surfaces as
  clean EOF instead of `-ECONNRESET`.
- **Root cause:** Missing backlog flush before receive-queue inspection;
  missing post-flush `sk_err` recheck.
- **Dependency cited:** `f508262ae9f2` / local `81c8a9f75a426`
  (`has_copied` split for `sk_err` handling).

### Step 1.4: Hidden Bug Fix?
**Record:** No — explicitly described as a correctness bug (wrong return
codes, masked connection errors).

---

## PHASE 2: DIFF ANALYSIS

### Step 2.1: Inventory
**Record:**
- **Files:** `net/tls/tls_sw.c` (+12 lines)
- **Function:** `tls_rx_rec_wait()` only
- **Scope:** Single-file surgical fix

### Step 2.2: Code Flow Change
**Record:**

| Hunk | Before | After |
|------|--------|-------|
| Backlog flush | Only `tls_read_flush_backlog()` during record
processing (periodic, ≥128KB) | `sk_flush_backlog(sk)` each wait-loop
iteration before receive-queue check |
| Error handling | Single top-of-loop `sk_err` check | Duplicate
`sk_err` check after backlog flush, same `has_copied` logic as top-of-
loop |

### Step 2.3: Bug Mechanism
**Record:**
- **Category:** Logic / correctness (error-path handling + backlog
  visibility)
- **Mechanism:** Socket lock held → segments queued on backlog → wait
  loop sees empty receive queue → premature `-EAGAIN` or sleep. Backlog
  flush can set `sk_err`+`sk_shutdown` between the two existing checks,
  masking reset as EOF.

### Step 2.4: Fix Quality
**Record:** Obviously correct — mirrors existing `sk_err` handling and
uses established `sk_flush_backlog()` API already used by
`tls_read_flush_backlog()`. Minimal regression risk; redundant flush on
next iteration is acknowledged as negligible on a cold path.

---

## PHASE 3: GIT HISTORY INVESTIGATION

### Step 3.1: Blame
**Record:** Wait-loop receive-queue check dates to 2020
(`20ffc7adf53a5f`). `has_copied`/`sk_err` split added by `81c8a9f75a426`
(May 2026, **in tree**). Buggy pattern (no backlog flush in wait loop)
present since `tls_rx_rec_wait()` was written; exacerbated by
`read_sock` (2023, **in tree**) which always passes `nonblock=true`.

### Step 3.2: Fixes: Tag
**Record:** N/A — no `Fixes:` tag. Referenced commit `81c8a9f75a426` is
an ancestor of HEAD.

### Step 3.3: Related File History
**Record:** Recent TLS fixes in this tree include `81c8a9f75a426` (same
`sk_err`/EOF class), `e8a4c9fc437b1` (read_sock empty records). v12
series patches 1–5 (`4da7925c124a3` … `22f8bf8808dc8`) are **not** in
tree; this is patch 6/6 but is functionally standalone (only touches
`tls_rx_rec_wait()`).

### Step 3.4: Author Context
**Record:** Chuck Lever is a primary kTLS maintainer. Multiple TLS
receive-path fixes in this tree from him (`81c8a9f75a426`,
`9f557c7eae127`, etc.).

### Step 3.5: Dependencies
**Record:**
- `sk_flush_backlog()` — present in `include/net/sock.h` (since 2022,
  `c46b01839f7aa` era)
- `has_copied` parameter — present (`81c8a9f75a426`)
- `tls_read_flush_backlog()` — present (`c46b01839f7aa`)
- **Standalone:** No dependency on other v12 patches; applies with
  trivial context adjustment (`tls_strp_check_rcv(&ctx->strp)` vs
  mainline's two-argument form)

---

## PHASE 4: MAILING LIST AND EXTERNAL RESEARCH

### Step 4.1: Original Discussion
**Record:** `b4 dig -c edcf32b8a48f5` →
https://patch.msgid.link/20260604-tls-read-
sock-v12-6-b114efa6e3e2@oracle.com. Part of v12 series (v4→v12
revisions). Sabrina Dubroca reviewed and thanked author. No explicit
stable nomination found in thread.

### Step 4.2: Reviewers
**Record:** `b4 dig -w`: CC'd Jakub Kicinski, netdev, kernel-tls-
handshake, Eric Dumazet, Paolo Abeni, Hannes Reinecke. Reviewed-by from
Hannes Reinecke and Sabrina Dubroca.

### Step 4.3: Bug Report
**Record:** `Suggested-by: Sabrina Dubroca`; original thread at lore
link (fetch blocked by Anubis). No syzbot/bugzilla. Subsystem expert
identified the issue.

### Step 4.4: Series Context
**Record:** v12 0/6 "receive-path fixes and clean-ups"; patches 1–5 are
separate read_sock/decrypt fixes not in this tree. Patch 6/6 is
independent.

### Step 4.5: Stable List History
**Record:** No stable-list discussion found in mbox grep.

---

## PHASE 5: CODE SEMANTIC ANALYSIS

### Step 5.1: Key Functions
**Record:** `tls_rx_rec_wait()` modified.

### Step 5.2: Callers
**Record:** Three call sites in `net/tls/tls_sw.c`:
- `tls_sw_recvmsg()` — line 2124 (`MSG_DONTWAIT` aware)
- `tls_sw_splice_read()` — line 2311 (`SPLICE_F_NONBLOCK` aware)
- `tls_sw_read_sock()` — line 2398 (always `nonblock=true`)

All are kTLS software receive paths reachable from userspace or in-
kernel consumers (sockmap, etc.).

### Step 5.3: Callees
**Record:** `sk_flush_backlog()` → `__sk_flush_backlog()` →
`__release_sock()` (moves backlog to receive queue, can run
`tcp_reset()`). `sock_error()`, `sk_wait_event()`,
`tls_strp_check_rcv()`.

### Step 5.4: Reachability
**Record:** Reachable from `recvmsg()`/`splice()`/`read()` on TLS
sockets and kernel `read_sock` consumers. Unprivileged users with TLS
sockets can trigger. `CONFIG_TLS` required.

### Step 5.5: Similar Patterns
**Record:** `tls_read_flush_backlog()` already calls
`sk_flush_backlog()` during record processing but only after ≥128KB
(`c46b01839f7aa`). Wait loop had no flush — gap this patch closes.
`81c8a9f75a426` already fixed analogous `sk_err`/EOF masking for
periodic flush path.

---

## PHASE 6: CROSS-REFERENCING AGAINST LOCAL TREE

### Step 6.1: Buggy Code Present?
**Record:** **Yes.** Current `tls_rx_rec_wait()` at lines 1407–1414
checks `sk_receive_queue` without prior `sk_flush_backlog()`. No post-
flush `sk_err` recheck. Commit `edcf32b8a48f5` is **not** an ancestor of
HEAD.

### Step 6.2: Backport Complications
**Record:** `git apply --check` fails on comment/context around
`tls_strp_check_rcv(&ctx->strp, false)` vs local
`tls_strp_check_rcv(&ctx->strp)`. **Minor adjustment needed** —
functional change is independent of that difference.

### Step 6.3: Related Fixes Already Present?
**Record:** `81c8a9f75a426` (preserve `sk_err` / `has_copied`) is in
tree but does **not** cover the wait-loop backlog-flush path this commit
adds. No duplicate fix found.

---

## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT

### Step 7.1: Subsystem
**Record:** `net/tls` — kTLS software receive path. **Criticality:
IMPORTANT** (production TLS workloads; growing kTLS adoption).

### Step 7.2: Activity
**Record:** Active — multiple TLS fixes in recent stable history
(`81c8a9f75a426`, `e8a4c9fc437b1`, UAF/off-by-one fixes).

---

## PHASE 8: IMPACT AND RISK ASSESSMENT

### Step 8.1: Who Is Affected
**Record:** kTLS users (`CONFIG_TLS`): applications using kernel TLS
recvmsg/splice, and in-kernel `read_sock` consumers. Not universal, but
significant in data-center/edge deployments.

### Step 8.2: Trigger Conditions
**Record:** Data arrives on `sk_backlog` while socket lock held during
`tls_rx_rec_wait()`. Common during active TLS reads. Non-blocking paths
(`read_sock`, `MSG_DONTWAIT`) hit spurious `-EAGAIN` deterministically
when backlog has data but receive queue is empty. Connection reset
during backlog flush triggers EOF masking.

### Step 8.3: Failure Mode Severity
**Record:**
- Spurious `-EAGAIN` → **MEDIUM** (functional failure; apps may
  drop/retry incorrectly; `read_sock` always non-blocking)
- `ECONNRESET` masked as EOF → **MEDIUM-HIGH** (wrong semantics; same
  class as `81c8a9f75a426` which was backported)
- Not crash/UAF/corruption/deadlock

### Step 8.4: Risk-Benefit
**Record:**
- **Benefit:** MEDIUM-HIGH — fixes real kTLS correctness bugs; completes
  error-handling started by `81c8a9f75a426`
- **Risk:** LOW — 12 lines, reviewed, uses existing API, mirrors
  existing `sk_err` pattern
- **Ratio:** Favorable

---

## PHASE 9: FINAL SYNTHESIS

### Step 9.1: Evidence Summary

**FOR:**
- Fixes two real, reproducible correctness bugs in kTLS receive
- Small (12 lines), surgical, dual-reviewed by subsystem experts
- Prerequisites (`has_copied`, `sk_flush_backlog`) all in v6.18.44
- Companion to `81c8a9f75a426` already in this stable tree (same EOF-
  masking class)
- Affects production paths: `recvmsg`, `splice_read`, `read_sock`
- Applies with trivial context adjustment

**AGAINST:**
- Not crash/security/corruption/deadlock
- No syzbot or explicit end-user bug report
- Borderline on stable rule "important issue"
- Rest of v12 series not in tree (but this patch is standalone)

**UNRESOLVED:** Original Sabrina Dubroca bug-report thread content (lore
blocked by Anubis).

### Step 9.2: Stable Rules Checklist
| Criterion | Result |
|-----------|--------|
| 1. Obviously correct and tested? | **PASS** — reviewed by two
subsystem experts; logic mirrors existing `sk_err` handling |
| 2. Fixes real bug affecting users? | **PASS** — spurious EAGAIN +
masked ECONNRESET on kTLS paths |
| 3. Important issue? | **PASS** — wrong error semantics on active TLS
connections; same severity class as already-backported `81c8a9f75a426` |
| 4. Small and contained? | **PASS** — 12 lines, one function |
| 5. No new features/APIs? | **PASS** — behavior correction only |
| 6. Can apply to local tree? | **PASS** — minor context tweak for
`tls_strp_check_rcv` signature |

### Step 9.3: Exception Categories
**Record:** None (not device ID, quirk, DT, build, or docs).

### Step 9.4: Decision Rationale

This tree already carries `81c8a9f75a426`, which fixes `sk_err` being
masked as EOF when `tls_read_flush_backlog()` triggers `tcp_reset()`.
The analyzed commit closes the parallel hole in `tls_rx_rec_wait()` —
the wait loop never flushed backlog before checking the receive queue,
and a post-flush `sk_err` recheck was missing. Without it, kTLS non-
blocking reads (`read_sock`, `MSG_DONTWAIT`) can spuriously return
`-EAGAIN` despite available data, and connection resets during wait can
still appear as clean EOF.

The fix is minimal, self-contained, prerequisite-complete in v6.18.44,
and addresses the same error-reporting correctness class already deemed
stable-worthy in this tree.

---

## Verification

- **[Phase 1]** Parsed commit message and tags from `git show
  edcf32b8a48f5`
- **[Phase 2]** Diff analysis: +12 lines in `tls_rx_rec_wait()`, two
  hunks (flush + sk_err recheck)
- **[Phase 3]** `git describe HEAD` → v6.18.44; `git merge-base --is-
  ancestor` → `edcf32` NOT in tree; `81c8a9`, `c46b018`, `662fbcec` IN
  tree
- **[Phase 3]** `git blame -L 1394,1435 net/tls/tls_sw.c` → receive-
  queue-only check since 2020; `has_copied` from `81c8a9f75a426`
- **[Phase 3]** v12 series commits 1–5 all NOT in tree; patch 6/6 is
  standalone
- **[Phase 4]** `b4 dig -c edcf32b8a48f5` → lore URL found; `b4 dig -a`
  → v4–v12 revisions; `b4 dig -w` → maintainers CC'd
- **[Phase 4]** `b4 dig -m /tmp/tls_flush_thread.mbox` → Reviewed-by
  Sabrina Dubroca, Hannes Reinecke; no stable nomination
- **[Phase 4]** WebFetch lore URL → blocked (Anubis); UNVERIFIED
  original bug-report content
- **[Phase 5]** `grep tls_rx_rec_wait` → 3 call sites (recvmsg,
  splice_read, read_sock)
- **[Phase 5]** `include/net/sock.h:1218` → `sk_flush_backlog()` inline
  confirmed
- **[Phase 6]** Read current `tls_rx_rec_wait()` at lines 1379–1441 —
  missing fix
- **[Phase 6]** `git apply --check` → fails on `tls_strp_check_rcv`
  context; functional change still applicable
- **[Phase 7]** `git log --oneline -20 -- net/tls/` → active subsystem
  with recent stable fixes
- **[Phase 8]** `tls_sw_read_sock()` line 2398 always passes
  `nonblock=true` — verified spurious EAGAIN path

**YES**

 net/tls/tls_sw.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
index f19b504efa5d0..23872d7e32567 100644
--- a/net/tls/tls_sw.c
+++ b/net/tls/tls_sw.c
@@ -1404,12 +1404,24 @@ tls_rx_rec_wait(struct sock *sk, struct sk_psock *psock, bool nonblock,
 		if (ret < 0)
 			return ret;
 
+		if (sk_flush_backlog(sk))
+			released = true;
 		if (!skb_queue_empty(&sk->sk_receive_queue)) {
 			tls_strp_check_rcv(&ctx->strp);
 			if (tls_strp_msg_ready(ctx))
 				break;
 		}
 
+		/* sk_flush_backlog() can run tcp_reset(), which sets
+		 * sk_err and then sk_shutdown via tcp_done(). Recheck
+		 * sk_err here so a connection abort surfaces as the
+		 * actual error rather than a clean EOF.
+		 */
+		if (sk->sk_err) {
+			if (has_copied)
+				return -READ_ONCE(sk->sk_err);
+			return sock_error(sk);
+		}
 		if (sk->sk_shutdown & RCV_SHUTDOWN)
 			return 0;
 
-- 
2.53.0


  parent reply	other threads:[~2026-08-31 13:39 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20260831133314.4125787-1-sashal@kernel.org>
2026-08-31 13:20 ` [PATCH AUTOSEL 6.18-6.12] netconsole: take target_cleanup_list_lock in drop_netconsole_target() Sasha Levin
2026-08-31 13:20 ` [PATCH AUTOSEL 6.18-6.6] bridge: Add missing READ_ONCE() annotations around FDB destination port Sasha Levin
2026-08-31 13:20 ` [PATCH AUTOSEL 6.18-6.6] net: phy: motorcomm: use device properties for firmware tuning Sasha Levin
2026-08-31 13:20 ` [PATCH AUTOSEL 6.18-5.15] dpaa2-switch: rework FDB management on the bridge leave path Sasha Levin
2026-08-31 13:21 ` [PATCH AUTOSEL 6.18] net: airoha: Reserve RX headroom to avoid skb reallocation Sasha Levin
2026-08-31 13:21 ` [PATCH AUTOSEL 6.18-6.1] eth: mlx5: fix macsec dependency Sasha Levin
2026-08-31 13:21 ` [PATCH AUTOSEL 6.18-5.10] phonet: check register_netdevice_notifier() error in phonet_device_init() Sasha Levin
2026-08-31 13:21 ` [PATCH AUTOSEL 6.18] net: sfp: apply I2C adapter quirks to limit block size Sasha Levin
2026-08-31 13:21 ` [PATCH AUTOSEL 6.18-5.10] hsr: broadcast netlink notifications in the device's net namespace Sasha Levin
2026-08-31 13:21 ` [PATCH AUTOSEL 6.18-5.10] vhost-scsi: flush backend after device ioctls Sasha Levin
2026-08-31 13:22 ` [PATCH AUTOSEL 6.18-5.10] bridge: Do not suppress ARP probes and DAD NS unconditionally Sasha Levin
2026-08-31 13:22 ` [PATCH AUTOSEL 6.18-5.10] sctp: Unwind address notifier registration on failure Sasha Levin
2026-08-31 13:22 ` [PATCH AUTOSEL 6.18-5.15] ptp: ocp: add shutdown callback Sasha Levin
2026-08-31 13:22 ` [PATCH AUTOSEL 6.18-6.12] net: lan966x: restore RX state on reload failure Sasha Levin
2026-08-31 13:22 ` [PATCH AUTOSEL 6.18-6.6] net/mlx5: E-Switch, align disable sequence with switchdev-to-legacy transition Sasha Levin
2026-08-31 13:23 ` Sasha Levin [this message]
2026-08-31 13:23 ` [PATCH AUTOSEL 6.18-5.10] net: dsa: sja1105: flower: reject cross-chip redirect Sasha Levin
2026-08-31 13:23 ` [PATCH AUTOSEL 6.18-6.12] net: hns3: improve the unused_tuple parameter setting Sasha Levin
2026-08-31 13:23 ` [PATCH AUTOSEL 6.18-6.1] net: thunderx: fix PTP device ref leak in nicvf_probe() Sasha Levin
2026-08-31 13:23 ` [PATCH AUTOSEL 6.18-5.10] net: stmmac: xgmac2: disable RBUE in default RX interrupt mask Sasha Levin
2026-08-31 13:23 ` [PATCH AUTOSEL 6.18-5.10] ipv6: Honor oif when choosing nexthop for locally generated traffic Sasha Levin
2026-08-31 13:24 ` [PATCH AUTOSEL 6.18-5.10] ipv6: addrconf: fix temp address generation after prefix deprecation Sasha Levin
2026-08-31 13:24 ` [PATCH AUTOSEL 6.18-5.10] net/sched: sch_drr: make cl->quantum lockless Sasha Levin
2026-08-31 13:24 ` [PATCH AUTOSEL 6.18] net: napi: Skip last poll when arming gro timer in busy poll Sasha Levin
2026-08-31 13:24 ` [PATCH AUTOSEL 6.18-5.10] rds: annotate data-race around rs_seen_congestion Sasha Levin
2026-08-31 13:24 ` [PATCH AUTOSEL 6.18-5.10] net: dsa: mv88e6xxx: enable .rmu_disable() for 6320 family Sasha Levin
2026-08-31 13:24 ` [PATCH AUTOSEL 6.18-5.10] net: qrtr: fix node refcount leak on ctrl packet alloc failure Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-5.15] dpaa2-switch: fix handling of NAPI on the remove path Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-5.15] net: dsa: mv88e6xxx: define .pot_clear() for 6321 Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-6.12] net/mlx5e: Verify unique vhca_id count instead of range Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-5.10] ice: pass the return value of skb_checksum_help() Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-6.12] pds_core: quiesce DMA before freeing resources Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-6.12] net/mlx5: HWS, Handle destroying table that has a miss table Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-5.10] rds: filter RDS_INFO_* getsockopt by caller's netns Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18] net: mscc: ocelot: validate netdev belongs to switch in .netdev_to_port() Sasha Levin
2026-08-31 13:25 ` [PATCH AUTOSEL 6.18-5.10] e1000e: limit endianness conversion to boundary words Sasha Levin
2026-08-31 13:26 ` [PATCH AUTOSEL 6.18] net: ethtool: cmis_cdb: hold instance lock for ops locked devices Sasha Levin
2026-08-31 13:26 ` [PATCH AUTOSEL 6.18-5.10] net: au1000: move free_irq out of the close-time spinlocked section Sasha Levin
2026-08-31 13:26 ` [PATCH AUTOSEL 6.18-5.10] vsock: use sk_acceptq_is_full() helper in all transports Sasha Levin
2026-08-31 13:26 ` [PATCH AUTOSEL 6.18-6.1] net: dsa: realtek: rtl8365mb: add support for RTL8367SB Sasha Levin
2026-08-31 13:26 ` [PATCH AUTOSEL 6.18-6.12] rtase: Fix flow control configuration Sasha Levin
2026-08-31 13:26 ` [PATCH AUTOSEL 6.18-5.15] dpaa2-switch: fix the error path in dpaa2_switch_rx() Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18-6.12] ipv6: use READ_ONCE() for bindv6only default in inet6_create() Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18] net_sched: sch_fq: convert skb->tstamp if not monotonic Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18] net/mlx5: HWS, Check if device is down while polling for completion Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18-6.6] net: microchip: sparx5: clean up PSFP resources on flower setup failure Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18-5.10] xfrm: allow migration from UDP encapsulated to non-encapsulated ESP Sasha Levin
2026-09-01  7:50   ` Antony Antony
2026-09-01  9:14     ` Sabrina Dubroca
2026-09-01 15:08     ` Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18] net: phy: sfp: detect presence via I2C when no MOD_DEF0 GPIO Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18-5.10] netlabel: fix IPv6 unlabeled address add error handling Sasha Levin
2026-08-31 13:27 ` [PATCH AUTOSEL 6.18-6.12] net: mana: hardening: Reject zero max_num_queues from MANA_QUERY_VPORT_CONFIG Sasha Levin
2026-08-31 13:28 ` [PATCH AUTOSEL 6.18-5.10] net: ibm: emac: Reserve VLAN header in MJS limit Sasha Levin
2026-08-31 13:28 ` [PATCH AUTOSEL 6.18-6.1] net: wwan: t7xx: Add delay between MD and SAP suspend Sasha Levin
2026-08-31 13:28 ` [PATCH AUTOSEL 6.18-6.12] net: sfp: add quirk for OEM 2.5G optical modules Sasha Levin
2026-08-31 13:28 ` [PATCH AUTOSEL 6.18-6.1] net: phy: sfp: probe for RollBall I2C-to-MDIO bridge in mdio-i2c Sasha Levin
2026-09-01  5:28   ` Petr Wozniak
2026-09-01 15:07     ` Sasha Levin
     [not found]   ` <CALSZ6VYWSva6FY-40n8f-eeinu5qXkPbwXue9N9+=D7iEL+ksg@mail.gmail.com>
2026-09-01 15:07     ` Sasha Levin
2026-08-31 13:28 ` [PATCH AUTOSEL 6.18-5.10] net/sched: act_csum: don't mangle UDP tunnel GSO packets Sasha Levin
2026-08-31 13:28 ` [PATCH AUTOSEL 6.18] net/mlx5: Relax capability check for eswitch query paths Sasha Levin
2026-08-31 13:28 ` [PATCH AUTOSEL 6.18] psp: validate IPv4 header fields in psp_dev_rcv() Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18-5.10] net/rds: Don't sleep inside rds_ib_conn_path_shutdown Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18-5.10] netfilter: nf_conntrack_expect: zero at allocation time Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18] net: sfp: extend SMBus support Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18] bpf, sockmap: reject a packet-modifying SK_SKB stream parser Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18-6.1] net: hsr: require valid EOT supervision TLV Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18-5.10] net: bridge: remove stale rcu_barrier() in br_multicast_dev_del() Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18] net: txgbe: fix phylink leak on AML init failure Sasha Levin
2026-08-31 13:29 ` [PATCH AUTOSEL 6.18] net/mlx5: Switch vport HCA cap helpers to kvzalloc Sasha Levin
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18-5.10] netfilter: ipset: mark the rcu locked areas properly Sasha Levin
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18-5.10] xprtrdma: Add request-pool slack for delayed recycling Sasha Levin
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18] netfilter: nf_tables: use DEBUG_NET_WARN_ON_ONCE in packet and control paths Sasha Levin
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18-6.1] tls: reject the combination of TLS and sockmap Sasha Levin
2026-09-01  9:36   ` Sabrina Dubroca
2026-09-01 15:09     ` Sasha Levin
2026-09-02 15:35       ` Sabrina Dubroca
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18-5.10] netfilter: nf_conntrack: use get_unaligned_be32() in tcp_sack() Sasha Levin
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18-5.10] net: usb: qmi_wwan: add MeiG SRM813Q Sasha Levin
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18-5.10] net: cpsw_new: unregister devlink on port registration failure Sasha Levin
2026-08-31 13:30 ` [PATCH AUTOSEL 6.18] net: ibm: emac: fix unchecked platform_get_irq return value Sasha Levin
2026-08-31 13:31 ` [PATCH AUTOSEL 6.18-5.10] net: ibm: emac: mal: fix potential system hang in mal_remove() Sasha Levin
2026-08-31 13:31 ` [PATCH AUTOSEL 6.18-5.15] netfilter: nfnetlink_log: wait for rcu grace period before freeing pernet state Sasha Levin
2026-08-31 13:31 ` [PATCH AUTOSEL 6.18-6.6] net: dsa: qca8k: Add support for force mode for fixed link topology Sasha Levin
2026-08-31 13:31 ` [PATCH AUTOSEL 6.18] net: ibm: emac: mal: fix unchecked platform_get_irq return values Sasha Levin
2026-08-31 13:31 ` [PATCH AUTOSEL 6.18-5.10] net: dsa: mv88e6xxx: fix number of g1 interrupts for 6320 family Sasha Levin
2026-08-31 13:31 ` [PATCH AUTOSEL 6.18] net: ensure SCM_TXTIME delivery time is no older than system boot Sasha Levin

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=20260831133314.4125787-159-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hare@suse.de \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=patches@lists.linux.dev \
    --cc=sd@queasysnail.net \
    --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