In the Linux kernel, the following vulnerability has been resolved: nfc: s3fwrn5: allocate rx skb before consuming bytes s3fwrn82_uart_read() reports the number of accepted bytes to the serdev core. The current code consumes bytes into recv_skb and may already deliver a complete frame before allocating a fresh receive buffer. If that alloc_skb() fails, the callback returns 0 even though it has already consumed bytes, and it leaves recv_skb as NULL for the next receive callback. That breaks the receive_buf() accounting contract and can also lead to a NULL dereference on the next skb_put_u8(). Allocate the receive skb lazily before consuming the next byte instead. If allocation fails, return the number of bytes already accepted.
https://git.kernel.org/stable/c/d8c2aa3c4a1ec530a485e46a1c4f1a118bb00156
https://git.kernel.org/stable/c/7c31f7a599cf00fad3c204092a91a924126c67e4
https://git.kernel.org/stable/c/6d931680a9851481c3243689488eafed08eeff71
https://git.kernel.org/stable/c/5c14a19d5b1645cce1cb1252833d70b23635b632
https://git.kernel.org/stable/c/09822d3d6f68a0cdc4626e0c507324a4927f55a9