lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 506/757] RDMA/rxe: Handle skb_clone() failure in rxe_recv.c
    Date
    From: Bob Pearson <rpearsonhpe@gmail.com>

    [ Upstream commit 71abf20b28ff87fee6951ec2218d5ce7969c4e87 ]

    If skb_clone() is unable to allocate memory for a new sk_buff this is not
    detected by the current code.

    Check for a NULL return and continue. This is similar to other errors in
    this loop over QPs attached to the multicast address and consistent with
    the unreliable UD transport.

    Fixes: e7ec96fc7932f ("RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt()")
    Addresses-Coverity-ID: 1497804: Null pointer dereferences (NULL_RETURNS)
    Link: https://lore.kernel.org/r/20201013184236.5231-1-rpearson@hpe.com
    Signed-off-by: Bob Pearson <rpearson@hpe.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/infiniband/sw/rxe/rxe_recv.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/infiniband/sw/rxe/rxe_recv.c b/drivers/infiniband/sw/rxe/rxe_recv.c
    index 967ee8e1699cd..2da4187db80c9 100644
    --- a/drivers/infiniband/sw/rxe/rxe_recv.c
    +++ b/drivers/infiniband/sw/rxe/rxe_recv.c
    @@ -298,6 +298,9 @@ static void rxe_rcv_mcast_pkt(struct rxe_dev *rxe, struct sk_buff *skb)
    else
    per_qp_skb = skb;

    + if (unlikely(!per_qp_skb))
    + continue;
    +
    per_qp_pkt = SKB_TO_PKT(per_qp_skb);
    per_qp_pkt->qp = qp;
    rxe_add_ref(qp);
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 17:41    [W:4.052 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site