mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 10:32:35 +00:00
RDMA/rxe: Handle skb_clone() failure in rxe_recv.c
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: e7ec96fc79
("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>
This commit is contained in:
parent
e0d696d201
commit
71abf20b28
@ -271,6 +271,9 @@ static void rxe_rcv_mcast_pkt(struct rxe_dev *rxe, struct sk_buff *skb)
|
|||||||
else
|
else
|
||||||
per_qp_skb = skb;
|
per_qp_skb = skb;
|
||||||
|
|
||||||
|
if (unlikely(!per_qp_skb))
|
||||||
|
continue;
|
||||||
|
|
||||||
per_qp_pkt = SKB_TO_PKT(per_qp_skb);
|
per_qp_pkt = SKB_TO_PKT(per_qp_skb);
|
||||||
per_qp_pkt->qp = qp;
|
per_qp_pkt->qp = qp;
|
||||||
rxe_add_ref(qp);
|
rxe_add_ref(qp);
|
||||||
|
Loading…
Reference in New Issue
Block a user