在 2026/7/19 10:59, Serhat Kumral 写道: >> Could you please run this selftest in your environment to see if you can >> reproduce the deadlock/hang and capture the stack trace? > I could not reproduce this. > > I ran the exact sequence from rxe_rping_between_netns.sh, including > its cleanup order and module unload, on arm64 QEMU with KASAN, > lockdep and a 30-second hung-task timeout. rdma_rxe was built as a > module and the test used rdma-core's rping. > > I ran it 15 consecutive times, followed by a variant that unloads > the module while the netns and RXE devices are still alive. The > rping transfers completed, the unload succeeded, and there were no > hangs or splats. > > The series was based on b21d9bf627dd. Could you share your exact > base commit and .config, and confirm whether the same test passes > on that tree without this series? My repository is https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git The base commit is commit f2ec6312bf711369561bdcb22f8a63c0b118c479 (linux/master, linux/HEAD) Merge: ba6bd0df9adb e166bafc483e Author: Linus Torvalds Date:   Sat Jul 18 12:36:19 2026 -0700     Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi     Pull SCSI fixes from James Bottomley:      "The biggest core change is the reliable wake fix for scsi_schedule_eh       which is used by both libata and libsas which could otherwise cause       error handler hangs due to rare races.       All other fixes are in drivers (well except the export symbol removal)       the next biggest being the target PR-OUT transportid parsing fix"     * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:       scsi: hpsa: Fix DMA mapping leak on IOACCEL2 reset path       scsi: elx: efct: Fix refcount leak in efct_hw_io_abort()       scsi: elx: efct: Fix I/O leak on unsupported additional CDB       scsi: core: wake eh reliably when using scsi_schedule_eh       scsi: target: core: Fix iSCSI ISID use-after-free in REGISTER AND MOVE       scsi: target: Bound PR-OUT TransportID parsing to the received buffer       scsi: lpfc: Fix memory leak in lpfc_sli4_driver_resource_setup()       scsi: sg: Report request-table problems when any status is set       scsi: ufs: core: tracing: Do not dereference pointers in TP_printk()       scsi: bfa: Reduce kernel stack usage in bfa_fcs_lport_fdmi_build_portattr_block()       scsi: xen: scsiback: Free the command tag on the TMR submit-failure path       scsi: xen: scsiback: Free unsubmitted command instead of double-putting it       scsi: core: Remove export for scsi_device_from_queue() The config file is in the attachment. My KVM is # cat /etc/redhat-release Fedora release 43 (Forty Three) # uname -a Linux fedora 7.2.0-rc3-rxe-l2+ #64.fc43 SMP PREEMPT_DYNAMIC Sat Jul 18 20:33:51 PDT 2026 x86_64 GNU/Linux And with this patchset, rping can work well. [root@fedora linux]# rdma link add rxe0 type rxe netdev enp1s0 [root@fedora linux]# rping -s -a 192.168.122.174 -C 3 & [1] 2580 [root@fedora linux]# rping -c -a 192.168.122.174 -C 3 -d -Vv validate data verbose created cm_id 0x55b32895a4d0 cma_event type RDMA_CM_EVENT_ADDR_RESOLVED cma_id 0x55b32895a4d0 (parent) cma_event type RDMA_CM_EVENT_ROUTE_RESOLVED cma_id 0x55b32895a4d0 (parent) rdma_resolve_addr - rdma_resolve_route successful created pd 0x55b328950ca0 created channel 0x55b328950ce0 created cq 0x55b32895c880 created qp 0x55b32894f650 rping_setup_buffers called on cb 0x55b32894f830 allocated & registered buffers... cq_thread started. cma_event type RDMA_CM_EVENT_ESTABLISHED cma_id 0x55b32895a4d0 (parent) ESTABLISHED rdma_connect successful RDMA addr 55b328950220 rkey 54e len 64 send completion recv completion RDMA addr 55b328950270 rkey 45a len 64 send completion recv completion ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr RDMA addr 55b328950220 rkey 54e len 64 send completion recv completion RDMA addr 55b328950270 rkey 45a len 64 send completion recv completion ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs RDMA addr 55b328950220 rkey 54e len 64 send completion recv completion RDMA addr 55b328950270 rkey 45a len 64 send completion recv completion ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst server DISCONNECT EVENT... rping_free_buffers called on cb 0x55b32894f830 wait for RDMA_READ_ADV state 10 cma_event type RDMA_CM_EVENT_DISCONNECTED cma_id 0x55b32895a4d0 (parent) client DISCONNECT EVENT... destroy cm_id 0x55b32895a4d0 [1]+  Done                       rping -s -a 192.168.122.174 -C 3 [root@fedora linux]# rdma link link rxe0/1 state ACTIVE physical_state LINK_UP netdev enp1s0 # rdma sys netns shared privileged-qkey off monitor on copy-on-fork on But when running tools/testing/selftests/rdma/rxe_rping_between_netns.sh, the hang will occur. It is weird. The output is as below after removing /dev/null. " # sh tools/testing/selftests/rdma/rxe_rping_between_netns.sh Setting up network namespace and veth pair... Creating RDMA links... Testing connectivity with rping... verbose count 3 created cm_id 0x55b1f415fc00 cma_event type RDMA_CM_EVENT_ADDR_RESOLVED cma_id 0x55b1f415fc00 (parent) cma_event type RDMA_CM_EVENT_ROUTE_RESOLVED cma_id 0x55b1f415fc00 (parent) rdma_resolve_addr - rdma_resolve_route successful created pd 0x55b1f4155ca0 created channel 0x55b1f4155ce0 created cq 0x55b1f4161fb0 created qp 0x55b1f4154650 rping_setup_buffers called on cb 0x55b1f4154830 allocated & registered buffers... cq_thread started. [kernel hang here, no any reponse] " I can not run any command from console or ssh since the kernel hang. If you need any further information, please let me know. Zhu Yanjun > > The script redirects stdout to /dev/null, so could you also identify > the command at which it stops, for example by temporarily removing > the redirections and running it with bash -x? If it hangs again, > "echo w > /proc/sysrq-trigger" and, if possible, > "echo t > /proc/sysrq-trigger" from the console should provide the > blocked-task stacks without requiring kdump. -- Best Regards, Yanjun.Zhu