From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>,
jhs@mojatatu.com, jiri@resnulli.us, davem@davemloft.net,
pabeni@redhat.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 6.18-5.10] net/sched: sch_drr: make cl->quantum lockless
Date: Mon, 31 Aug 2026 09:24:09 -0400 [thread overview]
Message-ID: <20260831133314.4125787-221-sashal@kernel.org> (raw)
In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org>
From: Eric Dumazet <edumazet@google.com>
[ Upstream commit a4d880b85089e12a5f2e8e2fee386310cec5b99a ]
cl->quantum does not need to be protected by RTNL or qdisc spinlock.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260519094618.2632073-3-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
## Phase 1: Commit Message Forensics
### Step 1.1: Parse the Subject Line
**Record:** `[net/sched] [make] sch_drr: make cl->quantum lockless` —
networking traffic-control subsystem; action is making `cl->quantum`
access lockless (concurrency/synchronization change, not labeled "fix").
### Step 1.2: Parse All Commit Message Tags
**Record:**
- **Signed-off-by:** Eric Dumazet `<edumazet@google.com>` (author)
- **Link:** `https://patch.msgid.link/20260519094618.2632073-3-
edumazet@google.com` (patch 2/2 of series)
- **Signed-off-by:** Jakub Kicinski `<kuba@kernel.org>` (net maintainer
merge)
- **No** Fixes:, Reported-by:, Tested-by:, Reviewed-by:, Acked-by:, or
Cc: stable tags
- Notable: part of series titled **"net/sched: sch_drr: lockless
cl->deficit and cl->quantum"** (patches 1/2 and 2/2)
### Step 1.3: Analyze Commit Body
**Record:**
- **Bug description:** `cl->quantum` does not need RTNL or qdisc
spinlock protection; access should be lockless with proper
annotations.
- **Symptom/failure mode:** Not described — no crash, corruption, or
user report mentioned.
- **Version info:** None in message.
- **Root cause (author):** Quantum is read on fast paths without holding
`sch_tree_lock`; locking on write is unnecessary and inconsistent.
### Step 1.4: Detect Hidden Bug Fixes
**Record:** **Yes, likely a hidden concurrency bug fix.** Removing
`sch_tree_lock()` around the write while fast-path readers
(`drr_enqueue`, `drr_dequeue`, `drr_dump_class`) access `cl->quantum`
without that lock means the old code had a writer-lock/reader-no-lock
pattern. The fix adds `WRITE_ONCE`/`READ_ONCE` to make lockless
concurrent access formally safe — same pattern as the already-backported
companion patch for `cl->deficit`.
---
## Phase 2: Diff Analysis
### Step 2.1: Inventory the Changes
**Record:**
- **File:** `net/sched/sch_drr.c` only
- **Scope:** ~4 insertions, ~6 deletions (net −2 lines)
- **Functions modified:** `drr_change_class`, `drr_dump_class`,
`drr_enqueue`, `drr_dequeue`
- **Classification:** Single-file, surgical synchronization fix
### Step 2.2: Code Flow Change (per hunk)
**Record:**
1. **`drr_change_class`:** Before: update `cl->quantum` under
`sch_tree_lock`/`sch_tree_unlock`. After: `WRITE_ONCE(cl->quantum,
quantum)` with no tree lock.
2. **`drr_dump_class`:** Before: plain `cl->quantum` read. After:
`READ_ONCE(cl->quantum)`.
3. **`drr_enqueue`:** Before: `WRITE_ONCE(cl->deficit, cl->quantum)`.
After: `WRITE_ONCE(cl->deficit, READ_ONCE(cl->quantum))`.
4. **`drr_dequeue`:** Before: `WRITE_ONCE(cl->deficit, cl->deficit +
cl->quantum)`. After: `WRITE_ONCE(cl->deficit, cl->deficit +
READ_ONCE(cl->quantum))`.
### Step 2.3: Bug Mechanism
**Record:** **Category: synchronization / data-race fix.** Fast-path
enqueue/dequeue and `drr_dump_class` read `cl->quantum` without
`sch_tree_lock`, while `drr_change_class` wrote it under that lock —
ineffective protection against the actual concurrent readers. Fix uses
`READ_ONCE`/`WRITE_ONCE` for defined lockless u32 access.
### Step 2.4: Fix Quality
**Record:** Fix is minimal, obviously correct, and mirrors the already-
applied `cl->deficit` annotations. Regression risk is very low. Removing
`sch_tree_lock` from the quantum-update path also reduces lock
contention during `tc` class changes under load.
---
## Phase 3: Git History Investigation
### Step 3.1: Blame Changed Lines
**Record:**
- Quantum lock/unlock in `drr_change_class`: Patrick McHardy, 2008-11-20
(original DRR code).
- `WRITE_ONCE` for deficit: Eric Dumazet, 2026-05-19 (`a88f6da618e8b`,
already in this tree).
- Buggy pattern (lock on write, lockless reads on fast path) present
since DRR introduction (~2.6 era).
### Step 3.2: Follow Fixes: Tag
**Record:** No Fixes: tag in this commit. N/A for direct lookup.
Companion patch 1/2 fixes `edb09eb17ed89` ("net: sched: do not acquire
qdisc spinlock in qdisc/class stats dump"), which **is** in this tree.
### Step 3.3: File History / Related Changes
**Record:**
- `a88f6da618e8b` — "annotate data-races around cl->deficit" (patch 1/2,
**already in 6.18.y**)
- `edb09eb17ed89` — lockless stats dump infrastructure (prerequisite
context, in tree since 2016)
- `f99a3fbf023e2` — double-list-add fix in DRR (unrelated)
- This is patch **2/2** of a 2-patch series; patch 1/2 is already
backported here.
### Step 3.4: Author's Other Commits
**Record:** Eric Dumazet is a core networking maintainer. Related
sch_drr work in this tree includes the deficit annotation backport and
the 2016 lockless stats-dump series.
### Step 3.5: Dependencies / Prerequisites
**Record:** Patch 1/2 (`a88f6da618e8b`) is **already in this tree**.
This patch applies standalone on top of that state. No other
dependencies required. The tree currently has an **incomplete** 2-patch
series: deficit annotated, quantum not.
---
## Phase 4: Mailing List and External Research
### Step 4.1: Original Patch Discussion
**Record:** Series found via web search (lore fetch blocked by bot
protection):
- Cover: `[PATCH net-next 0/2] net/sched: sch_drr: lockless cl->deficit
and cl->quantum`
- Patch 1/2: annotate data-races around `cl->deficit`
- Patch 2/2: make `cl->quantum` lockless (this commit)
- URL: https://www.spinics.net/lists/netdev/msg1188405.html
- `b4 dig -c` could not be run (commit not in local repo). No NAKs found
in search results.
### Step 4.2: Reviewers
**Record:** CC list from syzbot CI series page includes `davem@`,
`kuba@`, `netdev@`, `pabeni@`, `jhs@`, `victor@`. Patchwork-bot reported
on cover letter (2026-05-21). Full reviewer thread not retrieved.
### Step 4.3: Bug Reports
**Record:** No Reported-by, no syzbot crash report, no bugzilla link.
Syzbot CI
(https://ci.syzbot.org/series/3c50e02b-b07f-4d23-a7d3-45d5a6e23096) ran
build/boot/fuzz — all **passed**; no bug was filed against this series.
### Step 4.4: Related Patches / Series
**Record:** 2-patch series. Patch 1/2 already backported to this 6.18.y
tree (July 2026). This commit completes the series.
### Step 4.5: Stable Mailing List
**Record:** Not searched (no stable-specific discussion found in
available sources). Absence of Cc: stable is expected per instructions.
---
## Phase 5: Code Semantic Analysis
### Step 5.1: Key Functions
**Record:** `drr_change_class`, `drr_dump_class`, `drr_enqueue`,
`drr_dequeue`
### Step 5.2: Callers / Context
**Record:**
- `drr_enqueue`/`drr_dequeue`: packet scheduling fast path
(softirq/NAPI), high frequency.
- `drr_change_class`: netlink `tc` class configuration (administrative).
- `drr_dump_class`: `tc class show` dump via `cl_ops->walk` in
`tc_dump_tclass_qdisc` — **without** qdisc spinlock (same pattern as
stats dump after `edb09eb17ed89`).
### Step 5.3: Callees
**Record:** `WRITE_ONCE`, `READ_ONCE`, `sch_tree_lock`/`sch_tree_unlock`
(removed from quantum path), `nla_put_u32`, `list_add_tail`,
`qdisc_pkt_len`.
### Step 5.4: Reachability
**Record:** All paths reachable — packet forwarding (every enqueued
packet) and `tc` administration. Users with `CAP_NET_ADMIN` can trigger
quantum changes; any traffic through a DRR qdisc reads quantum on
enqueue/dequeue.
### Step 5.5: Similar Patterns
**Record:** Patch 1/2 applied the identical `READ_ONCE`/`WRITE_ONCE`
pattern to `cl->deficit` in the same functions. `sch_htb.c` and
`sch_ets.c` still use plain `cl->quantum` access (not part of this
commit).
---
## Phase 6: Cross-Referencing Against the Local Tree
### Step 6.1: Does the Buggy Code Exist?
**Record:** **Yes.** Local tree is **v6.18.44** (`linux-6.18.y` stable).
Current code at lines 100–103 still uses `sch_tree_lock` + plain
`cl->quantum = quantum`; lines 365/406 read `cl->quantum` without
`READ_ONCE` inside `WRITE_ONCE` deficit updates.
`READ_ONCE`/`WRITE_ONCE` for quantum: **not present** (verified via
grep).
### Step 6.2: Backport Complications
**Record:** **Clean apply expected.** Patch 1/2 already present; diff
applies directly on current `sch_drr.c`. Minor context differences
possible (e.g., `kzalloc` vs `kzalloc_obj`, `qstats_backlog_add` vs
direct `sch->qstats` — user's diff shows mainline variants; stable tree
may need trivial context adjustment only).
### Step 6.3: Related Fixes Already Present?
**Record:** Patch 1/2 (`a88f6da618e8b`, deficit annotations) **already
backported** (2026-07-24). This quantum patch is the **missing half** of
that series. No duplicate quantum fix found.
---
## Phase 7: Subsystem and Maintainer Context
### Step 7.1: Subsystem Criticality
**Record:** `net/sched` — **IMPORTANT** subsystem. DRR itself is a less-
common qdisc, but the code path is standard packet scheduling
infrastructure.
### Step 7.2: Subsystem Activity
**Record:** Moderately active; recent sch_drr changes include deficit
annotations (2026), qlen_notify idempotency (2025), extack support.
---
## Phase 8: Impact and Risk Assessment
### Step 8.1: Who Is Affected
**Record:** Users of DRR qdisc (`sch_drr`) with concurrent `tc` class
modification and traffic — config-specific, not universal. Google BwE-
scale `tc` dumps were the original motivation for the broader lockless-
stats work.
### Step 8.2: Trigger Conditions
**Record:** Concurrent `tc class change` (quantum update) while packets
are enqueued/dequeued, or while `tc class show` dumps quantum. Requires
DRR in use and concurrent admin + traffic. Not unprivileged-triggerable
for the write side; reads happen on every packet.
### Step 8.3: Failure Mode Severity
**Record:** Without fix: C11/KCSAN data race; in practice, reading a
slightly stale or mid-update `u32` quantum value. **Severity: LOW to
MEDIUM** — may cause transient scheduling inaccuracy, not kernel crash,
panic, memory corruption, or security escalation. No crash reports
exist.
### Step 8.4: Risk-Benefit
**Record:**
- **Benefit:** Completes data-race fix series already partially in tree;
consistent lockless access; slightly less lock contention on `tc`
changes; KCSAN-correct.
- **Risk:** Very low — 10-line change, established
`READ_ONCE`/`WRITE_ONCE` idiom.
- **Ratio:** Moderate benefit for DRR users; very low risk. Strongest
argument is **series completeness** after patch 1/2 was already
accepted for this tree.
---
## Phase 9: Final Synthesis
### Step 9.1: Evidence Summary
**FOR backport:**
- Completes 2-patch series; patch 1/2 already in 6.18.y
- Fixes real data race on `cl->quantum` in fast path and dump path
- Same author, same rationale as already-backported deficit fix
- Small, surgical, obviously correct
- Syzbot CI passed on full series
- Prerequisites (`edb09eb17ed89`, patch 1/2) present in tree
**AGAINST backport:**
- No user crash reports, no syzbot bug, no CVE
- Failure mode is benign (stale quantum value), not crash/corruption
- Race existed since 2008; newly highlighted, not newly introduced
catastrophic bug
- DRR is niche compared to HTB/fq_codel
- Partially a performance improvement (removing unnecessary
`sch_tree_lock`)
**Unresolved:** Full lore reviewer thread not retrieved; no explicit
stable nomination found.
### Step 9.2: Stable Rules Checklist
1. Obviously correct and tested? **PASS** — idiomatic
`READ_ONCE`/`WRITE_ONCE`; syzbot CI green.
2. Fixes a real bug? **PASS** — data race with concurrent lockless
readers; same class as already-backported patch 1/2.
3. Important issue? **BORDERLINE PASS** — not crash/security level, but
correctness under concurrent `tc` + traffic; series completion after
partial backport.
4. Small and contained? **PASS** — single file, ~10 lines.
5. No new features/APIs? **PASS** — synchronization annotations only.
6. Can apply to local tree? **PASS** — code present; patch 1/2
prerequisite satisfied.
### Step 9.3: Exception Categories
**Record:** None (not device ID, quirk, DT, build fix, or docs).
### Step 9.4: Decision Rationale
For **linux-6.18.y** specifically: patch 1/2 of this series is already
backported, leaving `cl->deficit` properly annotated but `cl->quantum`
still racy in the exact same functions (`drr_enqueue`, `drr_dequeue`,
dump paths). Backporting this commit completes a maintainer-intended,
already-half-applied concurrency fix with negligible risk. While the
user-visible severity is low (no crashes reported), the technical merit
and series consistency strongly favor inclusion in this tree.
---
## Verification
- [Phase 1] Parsed subject, tags, body from user-provided commit message
- [Phase 2] Analyzed full diff (4 hunks, 1 file); classified as data-
race fix
- [Phase 3] `git describe HEAD` → v6.18.44; `git blame` on lines
100–103, 365, 406
- [Phase 3] `git log --oneline -20 -- net/sched/sch_drr.c` — found
`a88f6da618e8b` (patch 1/2)
- [Phase 3] `git show a88f6da618e8b` — deficit annotations, Fixes
`edb09eb17ed89`, already in tree
- [Phase 3] `git log --grep='quantum lockless'` / `'make cl->quantum'` —
**no results** (patch 2/2 absent)
- [Phase 3] `git merge-base --is-ancestor edb09eb17ed89 HEAD` →
prerequisite present
- [Phase 4] Web search found spinics.net series page and syzbot CI page;
lore fetch blocked
- [Phase 4] Syzbot CI: build/boot/fuzz passed, no bug filed
- [Phase 5] Read `net/sched/sch_drr.c` — confirmed current buggy state
(plain `cl->quantum` reads)
- [Phase 5] `grep READ_ONCE(cl->quantum)` in `net/sched/` → **no
matches**
- [Phase 5] Read `tc_dump_tclass_qdisc` in `sch_api.c` — dump walks
classes without spinlock
- [Phase 6] Confirmed tree is 6.18.y stable; buggy code present; patch
1/2 backported July 2026
- [Phase 8] Assessed severity as LOW-MEDIUM (scheduling inaccuracy, not
crash)
**YES**The background check finished: **patch 1/2** (`a88f6da618e8b` —
deficit `READ_ONCE`/`WRITE_ONCE` annotations) is already in this
**6.18.44** tree, and **patch 2/2** (`make cl->quantum lockless`) is not
— `git log --grep='quantum lockless'` and `--grep='make cl->quantum'`
both came up empty.
That matches the earlier analysis: the series is only half-applied here,
and backporting this commit would complete it. Verdict remains **YES**.
net/sched/sch_drr.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/net/sched/sch_drr.c b/net/sched/sch_drr.c
index 44686fd1c2749..faafb29056259 100644
--- a/net/sched/sch_drr.c
+++ b/net/sched/sch_drr.c
@@ -97,10 +97,8 @@ static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
}
}
- sch_tree_lock(sch);
if (tb[TCA_DRR_QUANTUM])
- cl->quantum = quantum;
- sch_tree_unlock(sch);
+ WRITE_ONCE(cl->quantum, quantum);
return 0;
}
@@ -251,7 +249,7 @@ static int drr_dump_class(struct Qdisc *sch, unsigned long arg,
nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
if (nest == NULL)
goto nla_put_failure;
- if (nla_put_u32(skb, TCA_DRR_QUANTUM, cl->quantum))
+ if (nla_put_u32(skb, TCA_DRR_QUANTUM, READ_ONCE(cl->quantum)))
goto nla_put_failure;
return nla_nest_end(skb, nest);
@@ -362,7 +360,7 @@ static int drr_enqueue(struct sk_buff *skb, struct Qdisc *sch,
if (!cl_is_active(cl)) {
list_add_tail(&cl->alist, &q->active);
- WRITE_ONCE(cl->deficit, cl->quantum);
+ WRITE_ONCE(cl->deficit, READ_ONCE(cl->quantum));
}
sch->qstats.backlog += len;
@@ -403,7 +401,7 @@ static struct sk_buff *drr_dequeue(struct Qdisc *sch)
return skb;
}
- WRITE_ONCE(cl->deficit, cl->deficit + cl->quantum);
+ WRITE_ONCE(cl->deficit, cl->deficit + READ_ONCE(cl->quantum));
list_move_tail(&cl->alist, &q->active);
}
out:
--
2.53.0
next prev parent reply other threads:[~2026-08-31 13:40 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 ` [PATCH AUTOSEL 6.18-6.6] tls: Flush backlog before waiting for a new record Sasha Levin
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 ` Sasha Levin [this message]
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-221-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--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=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