summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJeremy Kerr <jk@codeconstruct.com.au>2024-12-18 11:53:01 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-01-09 13:31:54 +0100
commit1ec141d8f51b21a22e05ecd3bd1bf52e10fe00a1 (patch)
tree525f4505856f91248abd53815d5a7503c64f4088 /lib
parentc47ed91156daf328601d02b58d52d9804da54108 (diff)
downloadlinux-1ec141d8f51b21a22e05ecd3bd1bf52e10fe00a1.tar.gz
linux-1ec141d8f51b21a22e05ecd3bd1bf52e10fe00a1.tar.bz2
linux-1ec141d8f51b21a22e05ecd3bd1bf52e10fe00a1.zip
net: mctp: handle skb cleanup on sock_queue failures
[ Upstream commit ce1219c3f76bb131d095e90521506d3c6ccfa086 ] 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: 4a992bbd3650 ("mctp: Implement message fragmentation & reassembly") Cc: stable@vger.kernel.org Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Link: https://patch.msgid.link/20241218-mctp-next-v2-1-1c1729645eaa@codeconstruct.com.au Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions