mirror_ubuntu-kernels/drivers/infiniband/sw
Bob Pearson 78b26a3353 RDMA/rxe: Remove tasklet call from rxe_cq.c
Remove the tasklet call in rxe_cq.c and also the is_dying in the
cq struct. There is no reason for the rxe driver to defer the call
to the cq completion handler by scheduling a tasklet. rxe_cq_post()
is not called in a hard irq context.

The rxe driver currently is incorrect because the tasklet call is
made without protecting the cq pointer with a reference from having
the underlying memory freed before the deferred routine is called.
Executing the comp_handler inline fixes this problem.

Fixes: 8700e3e7c4 ("Soft RoCE driver")
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Link: https://lore.kernel.org/r/20230327215643.10410-1-rpearsonhpe@gmail.com
Acked-by: Zhu Yanjun <zyjzyj2000@gmail.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2023-03-29 14:25:11 +03:00
..
rdmavt RDMA/rdmavt: Delete unnecessary NULL check 2023-03-14 11:57:01 +02:00
rxe RDMA/rxe: Remove tasklet call from rxe_cq.c 2023-03-29 14:25:11 +03:00
siw RDMA/siw: Fix potential page_array out of range access 2023-03-13 13:54:49 +02:00
Makefile rdma/siw: addition to kernel build environment 2019-07-02 17:03:41 -03:00