In the Linux kernel, the following vulnerability has been resolved: ppp: fix memory leak in pad_compress_skb If alloc_skb() fails in pad_compress_skb(), it returns NULL without releasing the old skb. The caller does: skb = pad_compress_skb(ppp, skb); if (!skb) goto drop; drop: kfree_skb(skb); When pad_compress_skb() returns NULL, the reference to the old skb is lost and kfree_skb(skb) ends up doing nothing, leading to a memory leak. Align pad_compress_skb() semantics with realloc(): only free the old skb if allocation and compression succeed. At the call site, use the new_skb variable so the original skb is not lost when pad_compress_skb() fails.
https://git.kernel.org/stable/c/9ca6a040f76c0b149293e430dabab446f3fc8ab7
https://git.kernel.org/stable/c/87a35a36742df328d0badf4fbc2e56061c15846c
https://git.kernel.org/stable/c/85c1c86a67e09143aa464e9bf09c397816772348
https://git.kernel.org/stable/c/631fc8ab5beb9e0ec8651fb9875b9a968e7b4ae4
https://git.kernel.org/stable/c/4844123fe0b853a4982c02666cb3fd863d701d50
https://git.kernel.org/stable/c/33a5bac5f14772730d2caf632ae97b6c2ee95044
https://git.kernel.org/stable/c/1d8b354eafb8876d8bdb1bef69c7d2438aacfbe8
https://git.kernel.org/stable/c/0b21e9cd4559102da798bdcba453b64ecd7be7ee