In the Linux kernel, the following vulnerability has been resolved: xen/netfront: don't leak the skb when xennet_fill_frags() fails When a response chain has more slots than fit in the skb's frags, xennet_fill_frags() returns an error and xennet_poll() jumps to its error path. That path moves what's left on tmpq to errq to be freed, but the skb being filled was already dequeued from tmpq, so it's never freed. Each chain that overflows leaks the skb and the pages attached to it as frags, and the backend decides how many slots it sends. Put the skb back on tmpq before taking the error path, like the xennet_set_skb_gso() failure just above it does.
https://git.kernel.org/stable/c/99011a11c97340ef7290df7dc199305c73fab2f2
https://git.kernel.org/stable/c/93ccaf1c26e2133396173b76a071e59024daa622
https://git.kernel.org/stable/c/84e3ea6502b5f14ce8d499d0b6e0e38386274cf0
https://git.kernel.org/stable/c/5051df031144753d3e18862514969146b601d089
https://git.kernel.org/stable/c/086944c1c2cbb683543bc3ff08637847b03c8009