mirror-linux/drivers/infiniband/sw/rxe
Zhu Yanjun 3c3e9a9f29 RDMA/rxe: Flush delayed SKBs while releasing RXE resources
When skb packets are sent out, these skb packets still depends on
the rxe resources, for example, QP, sk, when these packets are
destroyed.

If these rxe resources are released when the skb packets are destroyed,
the call traces will appear.

To avoid skb packets hang too long time in some network devices,
a timestamp is added when these skb packets are created. If these
skb packets hang too long time in network devices, these network
devices can free these skb packets to release rxe resources.

Reported-by: syzbot+8425ccfb599521edb153@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=8425ccfb599521edb153
Tested-by: syzbot+8425ccfb599521edb153@syzkaller.appspotmail.com
Fixes: 1a633bdc8f ("RDMA/rxe: Let destroy qp succeed with stuck packet")
Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev>
Link: https://patch.msgid.link/20250726013104.463570-1-yanjun.zhu@linux.dev
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2025-08-13 06:20:00 -04:00
..
Kconfig RDMA/rxe: Remove 32-bit architecture support 2025-04-21 04:16:29 -04:00
Makefile RDMA/rxe: Add page invalidation support 2025-02-21 13:07:43 -04:00
rxe.c RDMA/rxe: Implement synchronous prefetch for ODP MRs 2025-06-12 04:07:04 -04:00
rxe.h RDMA/rxe: Move some code to rxe_loc.h in preparation for ODP 2025-02-21 13:07:43 -04:00
rxe_av.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_av.c 2022-11-10 15:33:05 -04:00
rxe_comp.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
rxe_cq.c RDMA/rxe: Fix slab-use-after-free Read in rxe_queue_cleanup bug 2025-04-20 06:14:49 -04:00
rxe_hdr.h RDMA/rxe: Fix __bth_set_resv6a 2024-08-23 11:42:38 -03:00
rxe_hw_counters.c RDMA/rxe: Merge request and complete tasks 2024-04-22 16:54:33 -03:00
rxe_hw_counters.h RDMA/rxe: Merge request and complete tasks 2024-04-22 16:54:33 -03:00
rxe_icrc.c RDMA/rxe: switch to using the crc32 library 2025-02-09 04:20:10 -05:00
rxe_loc.h RDMA/rxe: Implement synchronous prefetch for ODP MRs 2025-06-12 04:07:04 -04:00
rxe_mcast.c RDMA/rxe: Remove the direct link to net_device 2024-12-24 04:36:40 -05:00
rxe_mmap.c RDMA/rxe: Change rxe_dbg to rxe_dbg_dev 2023-03-24 10:41:49 -03:00
rxe_mr.c Linux 6.15 2025-05-26 15:33:52 -03:00
rxe_mw.c RDMA/rxe: Improve newline in printing messages 2024-01-25 11:49:50 +02:00
rxe_net.c RDMA/rxe: Flush delayed SKBs while releasing RXE resources 2025-08-13 06:20:00 -04:00
rxe_net.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_odp.c RDMA/rxe: Fix a couple IS_ERR() vs NULL bugs 2025-06-26 05:19:56 -04:00
rxe_opcode.c RDMA/rxe: Extend rxe packet format to support flush 2022-12-09 19:36:02 -04:00
rxe_opcode.h RDMA//rxe: Optimize send path in rxe_resp.c 2023-06-09 13:18:52 -03:00
rxe_param.h RDMA/rxe: Remove 32-bit architecture support 2025-04-21 04:16:29 -04:00
rxe_pool.c RDMA/rxe: Fix the warning "__rxe_cleanup+0x12c/0x170 [rdma_rxe]" 2025-01-14 06:43:53 -05:00
rxe_pool.h RDMA/rxe: Remove rxe_alloc() 2023-02-16 11:30:11 -04:00
rxe_qp.c RDMA/rxe: Flush delayed SKBs while releasing RXE resources 2025-08-13 06:20:00 -04:00
rxe_queue.c RDMA/rxe: Clean kzalloc failure paths 2023-03-30 09:54:32 +03:00
rxe_queue.h RDMA/rxe: Fix missing memory barriers in rxe_queue.h 2023-02-16 12:07:05 -04:00
rxe_recv.c RDMA/rxe: Convert spin_{lock_bh,unlock_bh} to spin_{lock_irqsave,unlock_irqrestore} 2023-05-16 21:07:33 -03:00
rxe_req.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
rxe_resp.c Linux 6.15 2025-05-26 15:33:52 -03:00
rxe_srq.c RDMA/rxe: Fix rxe_modify_srq 2023-07-31 15:24:12 -03:00
rxe_task.c RDMA/rxe: Remove unused rxe_run_task 2025-04-20 11:27:39 -04:00
rxe_task.h RDMA/rxe: Remove unused rxe_run_task 2025-04-20 11:27:39 -04:00
rxe_verbs.c RDMA v6.17 merge window pull request 2025-07-31 12:19:55 -07:00
rxe_verbs.h RDMA/rxe: Move some code to rxe_loc.h in preparation for ODP 2025-02-21 13:07:43 -04:00