RDMA/rxe: Fix incorrect rxe_put in error path
In rxe_send() a ref is taken on the qp to keep it alive until the kfree_skb() has a chance to call the skb destructor rxe_skb_tx_dtor() which drops the reference. If the packet has an incorrect protocol the error path just calls kfree_skb() which will call the destructor which will drop the ref. Currently the driver also calls rxe_put() which is incorrect. Additionally since the packets sent to rxe_send() are under the control of the driver and it only ever produces IPV4 or IPV6 packets the simplest fix is to remove all the code in this block. Link: https://lore.kernel.org/r/20240329145513.35381-12-rpearsonhpe@gmail.comSigned-off-by:Bob Pearson <rpearsonhpe@gmail.com> Fixes: 9eb7f8e4 ("IB/rxe: Move refcounting earlier in rxe_send()") Signed-off-by:
Jason Gunthorpe <jgg@nvidia.com>
Showing
Please register or sign in to comment