lkml.org 
[lkml]   [2021]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 33/37] qlcnic: Add null check after calling netdev_alloc_skb
    Date
    From: Tom Seewald <tseewald@gmail.com>

    commit 84460f01cba382553199bc1361f69a872d5abed4 upstream.

    The function qlcnic_dl_lb_test() currently calls netdev_alloc_skb()
    without checking afterwards that the allocation succeeded. Fix this by
    checking if the skb is NULL and returning an error in such a case.
    Breaking out of the loop if the skb is NULL is not correct as no error
    would be reported to the caller and no message would be printed for the
    user.

    Cc: David S. Miller <davem@davemloft.net>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Tom Seewald <tseewald@gmail.com>
    Link: https://lore.kernel.org/r/20210503115736.2104747-26-gregkh@linuxfoundation.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
    +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
    @@ -1047,6 +1047,8 @@ int qlcnic_do_lb_test(struct qlcnic_adap

    for (i = 0; i < QLCNIC_NUM_ILB_PKT; i++) {
    skb = netdev_alloc_skb(adapter->netdev, QLCNIC_ILB_PKT_SIZE);
    + if (!skb)
    + goto error;
    qlcnic_create_loopback_buff(skb->data, adapter->mac_addr);
    skb_put(skb, QLCNIC_ILB_PKT_SIZE);
    adapter->ahw->diag_cnt = 0;
    @@ -1070,6 +1072,7 @@ int qlcnic_do_lb_test(struct qlcnic_adap
    cnt++;
    }
    if (cnt != i) {
    +error:
    dev_err(&adapter->pdev->dev,
    "LB Test: failed, TX[%d], RX[%d]\n", i, cnt);
    if (mode != QLCNIC_ILB_MODE)

    \
     
     \ /
      Last update: 2021-05-24 17:42    [W:4.330 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site