[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250416102427.3219655-1-victor@mojatatu.com>
Date: Wed, 16 Apr 2025 07:24:22 -0300
From: Victor Nogueira <victor@...atatu.com>
To: netdev@...r.kernel.org
Cc: jhs@...atatu.com,
xiyou.wangcong@...il.com,
jiri@...nulli.us,
davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
toke@...hat.com,
gerrard.tai@...rlabs.sg,
pctammela@...atatu.com
Subject: [PATCH net v2 0/5] net_sched: Adapt qdiscs for reentrant enqueue cases
As described in Gerrard's report [1], there are cases where netem can
make the qdisc enqueue callback reentrant. Some qdiscs (drr, hfsc, ets,
qfq) break whenever the enqueue callback has reentrant behaviour.
This series addresses these issues by adding extra checks that cater for
these reentrant corner cases. This series has passed all relevant test
cases in the TDC suite.
[1] https://lore.kernel.org/netdev/CAHcdcOm+03OD2j6R0=YHKqmy=VgJ8xEOKuP6c7mSgnp-TEJJbw@mail.gmail.com/
v1 -> v2:
- Removed RFC tag
- Added Jamal's Acked-by
- Added TDC tests
- Small cleanups
Victor Nogueira (5):
net_sched: drr: Fix double list add in class with netem as child qdisc
net_sched: hfsc: Fix a UAF vulnerability in class with netem as child
qdisc
net_sched: ets: Fix double list add in class with netem as child qdisc
net_sched: qfq: Fix double list add in class with netem as child qdisc
selftests: tc-testing: Add TDC tests that exercise reentrant enqueue
behaviour
net/sched/sch_drr.c | 7 +-
net/sched/sch_ets.c | 7 +-
net/sched/sch_hfsc.c | 2 +-
net/sched/sch_qfq.c | 8 +
.../tc-testing/tc-tests/infra/qdiscs.json | 148 ++++++++++++++++++
5 files changed, 169 insertions(+), 3 deletions(-)
--
2.34.1
Powered by blists - more mailing lists