public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v2 0/5] net_sched: Adapt qdiscs for reentrant enqueue cases
@ 2025-04-16 10:24 Victor Nogueira
  2025-04-16 10:24 ` [PATCH net v2 1/5] net_sched: drr: Fix double list add in class with netem as child qdisc Victor Nogueira
                   ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: Victor Nogueira @ 2025-04-16 10:24 UTC (permalink / raw)
  To: netdev
  Cc: jhs, xiyou.wangcong, jiri, davem, edumazet, kuba, pabeni, toke,
	gerrard.tai, pctammela

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


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2025-04-24 15:40 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-16 10:24 [PATCH net v2 0/5] net_sched: Adapt qdiscs for reentrant enqueue cases Victor Nogueira
2025-04-16 10:24 ` [PATCH net v2 1/5] net_sched: drr: Fix double list add in class with netem as child qdisc Victor Nogueira
2025-04-23  0:44   ` Jakub Kicinski
2025-04-23 14:41     ` Victor Nogueira
2025-04-16 10:24 ` [PATCH net v2 2/5] net_sched: hfsc: Fix a UAF vulnerability " Victor Nogueira
2025-04-16 10:24 ` [PATCH net v2 3/5] net_sched: ets: Fix double list add " Victor Nogueira
2025-04-16 10:24 ` [PATCH net v2 4/5] net_sched: qfq: " Victor Nogueira
2025-04-16 10:24 ` [PATCH net v2 5/5] selftests: tc-testing: Add TDC tests that exercise reentrant enqueue behaviour Victor Nogueira
2025-04-17 16:07 ` [PATCH net v2 0/5] net_sched: Adapt qdiscs for reentrant enqueue cases Jakub Kicinski
2025-04-17 21:49   ` Victor Nogueira
2025-04-22 11:34   ` Paolo Abeni
2025-04-17 19:23 ` Cong Wang
2025-04-17 22:13   ` Victor Nogueira
2025-04-22 11:21   ` Paolo Abeni
2025-04-23 20:50     ` Cong Wang
2025-04-23 23:29       ` Cong Wang
2025-04-24  0:24         ` Jakub Kicinski
2025-04-24 15:22           ` Jamal Hadi Salim
2025-04-24 15:40             ` Jamal Hadi Salim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox