RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()
rxe_udp_encap_recv() drops the reference to rxe->ib_dev taken by rxe_get_dev_from_net() which should be held until each received skb is freed. This patch moves the calls to ib_device_put() to each place a received skb is freed. It also takes references to the ib_device for each cloned skb created to process received multicast packets. Fixes: 4c173f59 ("RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding") Link: https://lore.kernel.org/r/20210128233318.2591-1-rpearson@hpe.com Signed-off-by:Bob Pearson <rpearson@hpe.com> Signed-off-by:
Jason Gunthorpe <jgg@nvidia.com>
Showing
- drivers/infiniband/sw/rxe/rxe_comp.c 21 additions, 28 deletionsdrivers/infiniband/sw/rxe/rxe_comp.c
- drivers/infiniband/sw/rxe/rxe_net.c 5 additions, 7 deletionsdrivers/infiniband/sw/rxe/rxe_net.c
- drivers/infiniband/sw/rxe/rxe_recv.c 6 additions, 0 deletionsdrivers/infiniband/sw/rxe/rxe_recv.c
- drivers/infiniband/sw/rxe/rxe_resp.c 3 additions, 0 deletionsdrivers/infiniband/sw/rxe/rxe_resp.c
Loading
Please register or sign in to comment