In the Linux kernel, the following vulnerability has been resolved: net/sched: Make cake_enqueue return NET_XMIT_CN when past buffer_limit The following setup can trigger a WARNING in htb_activate due to the condition: !cl->leaf.q->q.qlen tc qdisc del dev lo root tc qdisc add dev lo root handle 1: htb default 1 tc class add dev lo parent 1: classid 1:1 \ htb rate 64bit tc qdisc add dev lo parent 1:1 handle f: \ cake memlimit 1b ping -I lo -f -c1 -s64 -W0.001 127.0.0.1 This is because the low memlimit leads to a low buffer_limit, which causes packet dropping. However, cake_enqueue still returns NET_XMIT_SUCCESS, causing htb_enqueue to call htb_activate with an empty child qdisc. We should return NET_XMIT_CN when packets are dropped from the same tin and flow. I do not believe return value of NET_XMIT_CN is necessary for packet drops in the case of ack filtering, as that is meant to optimize performance, not to signal congestion.
https://git.kernel.org/stable/c/ff57186b2cc39766672c4c0332323933e5faaa88
https://git.kernel.org/stable/c/de04ddd2980b48caa8d7e24a7db2742917a8b280
https://git.kernel.org/stable/c/aa12ee1c1bd260943fd6ab556d8635811c332eeb
https://git.kernel.org/stable/c/7689ab22de36f8db19095f6bdf11f28cfde92f5c
https://git.kernel.org/stable/c/710866fc0a64eafcb8bacd91bcb1329eb7e5035f
https://git.kernel.org/stable/c/62d591dde4defb1333d202410609c4ddeae060b3
https://git.kernel.org/stable/c/15de71d06a400f7fdc15bf377a2552b0ec437cf5
https://git.kernel.org/stable/c/0dacfc5372e314d1219f03e64dde3ab495a5a25e