On 18/04/18 17:19, Yuval Shaia wrote: > It always returns 0. Change return type to void. > > Signed-off-by: Yuval Shaia <yuval.shaia@xxxxxxxxxx> > --- [...] > diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c > index 9da6e37fb70c..b43e9ed3f405 100644 > --- a/drivers/infiniband/sw/rxe/rxe_net.c > +++ b/drivers/infiniband/sw/rxe/rxe_net.c > @@ -276,9 +276,10 @@ static int rxe_udp_encap_recv(struct sock *sk, struct sk_buff *skb) > pkt->mask = RXE_GRH_MASK; > pkt->paylen = be16_to_cpu(udph->len) - sizeof(*udph); > > - return rxe_rcv(skb); > + rxe_rcv(skb); > drop: > kfree_skb(skb); > + > return 0; > } Please correct me if I'm wrong but this is not quite the same. I've looked down the rxe_rcv() call chain and I don't think we should always call kfree_skb() unconditionally here. Byte, Johannes -- Johannes Thumshirn Storage jthumshirn@xxxxxxx +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html