mirror of
https://github.com/torvalds/linux.git
synced 2025-11-05 11:10:22 +02:00
Currently, we don't use the return value from sock_queue_rcv_skb, which
means we may leak skbs if a message is not successfully queued to a
socket.
Instead, ensure that we're freeing the skb where the sock hasn't
otherwise taken ownership of the skb by adding checks on the
sock_queue_rcv_skb() to invoke a kfree on failure.
In doing so, rather than using the 'rc' value to trigger the
kfree_skb(), use the skb pointer itself, which is more explicit.
Also, add a kunit test for the sock delivery failure cases.
Fixes:
|
||
|---|---|---|
| .. | ||
| test | ||
| af_mctp.c | ||
| device.c | ||
| Kconfig | ||
| Makefile | ||
| neigh.c | ||
| route.c | ||