Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return
authorColin Ian King <colin.king@canonical.com>
Fri, 9 Apr 2021 16:53:14 +0000 (17:53 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 26 Jun 2021 05:12:24 +0000 (07:12 +0200)
The call to alloc_skb with the GFP_KERNEL flag can return a null sk_buff
pointer, so add a null check to avoid any null pointer deference issues.

Addresses-Coverity: ("Dereference null return value")
Fixes: afd2daa26c7a ("Bluetooth: Add support for virtio transport driver")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/virtio_bt.c

index c804db7..57908ce 100644 (file)
@@ -34,6 +34,9 @@ static int virtbt_add_inbuf(struct virtio_bluetooth *vbt)
        int err;
 
        skb = alloc_skb(1000, GFP_KERNEL);
+       if (!skb)
+               return -ENOMEM;
+
        sg_init_one(sg, skb->data, 1000);
 
        err = virtqueue_add_inbuf(vq, sg, 1, skb, GFP_KERNEL);