From: David S. Miller Date: Sat, 10 Nov 2018 05:18:48 +0000 (-0800) Subject: infiniband: nes: Fix more direct skb list accesses. X-Git-Tag: for-linus-20190104~82^2~334 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=12ceaf8864c269467846379ebea56a2b996f9e3b;p=linux-block.git infiniband: nes: Fix more direct skb list accesses. The following: skb = skb->next; ... if (skb == (struct sk_buff *)queue) is transformed into: skb = skb_peek_next(skb, queue); ... if (!skb) Signed-off-by: David S. Miller --- diff --git a/drivers/infiniband/hw/nes/nes_mgt.c b/drivers/infiniband/hw/nes/nes_mgt.c index e96ffff61c3a..fc0c191014e9 100644 --- a/drivers/infiniband/hw/nes/nes_mgt.c +++ b/drivers/infiniband/hw/nes/nes_mgt.c @@ -223,11 +223,11 @@ static struct sk_buff *nes_get_next_skb(struct nes_device *nesdev, struct nes_qp } old_skb = skb; - skb = skb->next; + skb = skb_peek_next(skb, &nesqp->pau_list); skb_unlink(old_skb, &nesqp->pau_list); nes_mgt_free_skb(nesdev, old_skb, PCI_DMA_TODEVICE); nes_rem_ref_cm_node(nesqp->cm_node); - if (skb == (struct sk_buff *)&nesqp->pau_list) + if (!skb) goto out; } return skb;