lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 580/800] Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return
    Date
    From: Colin Ian King <colin.king@canonical.com>

    [ Upstream commit 1cb027f2f803d0a7abe9c291f0625e6bccd25999 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/bluetooth/virtio_bt.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/bluetooth/virtio_bt.c b/drivers/bluetooth/virtio_bt.c
    index c804db7e90f8..57908ce4fae8 100644
    --- a/drivers/bluetooth/virtio_bt.c
    +++ b/drivers/bluetooth/virtio_bt.c
    @@ -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);
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:09    [W:4.037 / U:0.520 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site