Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle()
authorSoenke Huster <soenke.huster@eknoes.de>
Wed, 20 Oct 2021 08:14:44 +0000 (10:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:03 +0000 (11:03 +0100)
[ Upstream commit 1d0688421449718c6c5f46e458a378c9b530ba18 ]

On the reception of packets with an invalid packet type, the memory of
the allocated socket buffers is never freed. Add a default case that frees
these to avoid a memory leak.

Fixes: afd2daa26c7a ("Bluetooth: Add support for virtio transport driver")
Signed-off-by: Soenke Huster <soenke.huster@eknoes.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bluetooth/virtio_bt.c

index 57908ce..076e494 100644 (file)
@@ -202,6 +202,9 @@ static void virtbt_rx_handle(struct virtio_bluetooth *vbt, struct sk_buff *skb)
                hci_skb_pkt_type(skb) = pkt_type;
                hci_recv_frame(vbt->hdev, skb);
                break;
+       default:
+               kfree_skb(skb);
+               break;
        }
 }