All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/core Bug 1827] net/mlx5:
Date: Thu, 13 Nov 2025 13:44:49 +0000	[thread overview]
Message-ID: <bug-1827-3@http.bugs.dpdk.org/> (raw)

http://bugs.dpdk.org/show_bug.cgi?id=1827

            Bug ID: 1827
           Summary: net/mlx5:
           Product: DPDK
           Version: 24.11
          Hardware: All
                OS: Linux
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: core
          Assignee: dev@dpdk.org
          Reporter: zhang_zx0130@163.com
  Target Milestone: ---

dev_probe and mlx5_dev_interrupt_nl_cb are two threads with race condition:
(1)dev_spawn function will free dev->data when handing an error;(thread 2)
(2)mlx5_dev_interrupt_nl_cb will access dev->data when handing netlink
event;(thread 1)

CoreStack:

Using debugging using libthread_db [enabled]
Core was generated by `/sbin/ldconfig -l 34 --proc-type primary --lova-mode pa
--syslog --log-level 8'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  mlx5_link_update_unlocked_gs (link=0xfffff25a0b598, dev=0x17a6300
<rte_eth_devices+33280>) at ../drivers/net/mlx5/linux/mlx5_ethdev_os.c:459
459     ../drivers/net/mlx5/linux/mlx5_ethdev_os.c: No such file or directory.
(gdb) bt
Thread 1 (Thread 0xfffff25a0e040 (LWP 80593)):
#0  mlx5_link_update_unlocked_gs (link=0xfffff25a0b598, dev=0x17a6300
<rte_eth_devices+33280>) at ../drivers/net/mlx5/linux/mlx5_ethdev_os.c:459
#1  mlx5_link_update (dev=0x17a6300 <rte_eth_devices+33280>,
wait_to_complete=wait_to_complete@entry=0) at
../drivers/net/mlx5/linux/mlx5_ethdev_os.c:490
#2  0x0000000000b3b7c in mlx5_dev_interrupt_nl_cb (hdr=<optimized out>,
cb_arg=<optimized out>) at ../drivers/net/mlx5/linux/mlx5_ethdev_os.c:702
#3  0x0000000000c4b84 in mlx5_nl_read_events (nlsk_fd=64, cb=cb@entry=0x8b3a60
<mlx5_dev_interrupt_nl_cb>, cb_arg=cb_arg@entry=0x5010ac7a9480) at
../drivers/net/mlx5/linux/mlx5_ethdev_os.c:1959
#4  0x0000000000b419c in mlx5_dev_interrupt_handler_nl (arg=0x5010ac7a9480) at
../drivers/net/mlx5/linux/mlx5_ethdev_os.c:725
#5  0x0000000000a972d4 in eal_intr_process_interrupts (nfds=<optimized out>,
events=<optimized out>) at ../lib/eal/linux/eal_interrupts.c:1017
#6  eal_intr_handle_interrupts (totalfds=<optimized out>, pfd=69) at
../lib/eal/linux/eal_interrupts.c:1091
#7  eal_virt_thread_main (arg=<optimized out>) at
../lib/eal/unix/eal_interrupts.c:1163
#8  0x0000000000a91fe4 in thread_start_wrapper (arg=0xfffff0dac8e8) at
../lib/eal/unix/rte_thread.c:117
#9  0x0000000000f25c6fc4 in start_thread () from
/lib/aarch64-linux-gnu/libpthread.so.0
#10 0x0000000000f2ade2e0 in thread_start () at
../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 2 (Thread 0xfffff25e026f0 (LWP 80589)):
#0  0x0000000000f25c71234 in nanosleep () from
/lib/aarch64-linux-gnu/libpthread.so.0
#1  0x00000000004cbec4 in mlx5_int_callback_unregister (cb_arg=<optimized out>,
cb_fn=<optimized out>) at ../drivers/common/mlx5/linux/mlx5_common_os.c:1106
#2  mlx5_os_interrupt_handler_destroy (intr_handle=0x5010669cc00, cb=0x8b4170
<mlx5_dev_interrupt_handler_nl>, cb_arg=cb_arg@entry=0x5010ac7a9480) at
../drivers/common/mlx5/linux/mlx5_common_os.c:149
#3  0x000000000002a22a in mlx5_os_free_shared_dev_ctx_uninstall
(sh=0x5010ac7a9480) at ../drivers/net/mlx5/linux/mlx5_os.c:3025
#4  0x0000000000076b6c in mlx5_free_shared_dev_ctx (sh=0x5010ac7a9480) at
../drivers/net/mlx5/linux/mlx5_os.c:2073
#5  0x0000000000a604 at drivers dev_spawn (dpdk_dev=<optimized out>,
spawn=spawn@entry=0x5010669c3600, eth_da=eth_da@entry=0x0,
mkvlist=mkvlist@entry=0x0) at ../drivers/net/mlx5/linux/mlx5_ethdev.c:1837
#6  0x0000000000b0b45c in mlx5_os_pci_probe_pf
(cdev=cdev@entry=0x5010dfd9d4200, req_eth_da=req_eth_da@entry=0xfffff0dac380,
owner_id=owner_id@entry=0x0, identityreq=0xfffff0dac480) at
../drivers/net/mlx5/linux/mlx5_os.c:2706
#7  0x0000000000b0b1ac in mlx5_os_pci_probe_one_driver (cdev=0x5010dfd9d4200,
sh=0x5010ac7a9480) at ../drivers/net/mlx5/linux/mlx5_os.c:2855
#8  0x0000000000b2110 in mlx5_os_pci_probe (cdev=0x5010dfd9d4200,
mkvlist=0xfffff0dac480) at ../drivers/net/mlx5/linux/mlx5_os.c:2999
#9  0x0000000000b4bd428 in drivers_probe (mkvlist=<optimized out>,
user_classes=<optimized out>, cdev=0x5010dfd9d4200) at
../drivers/common/mlx5/linux/mlx5_common.c:938
#10 mlx5_common_dev_probe (eal_dev=<optimized out>) at
../drivers/common/mlx5/mlx5_common.c:1028
#11 0x0000000000aeb90 in rte_pci_probe_one_driver (dev=0x11421000,
drv=0xcacd0c0 <mlx5_common_pci_driver>) at ../drivers/bus/pci/pci_common.c:297
#12 pci_probe_all_drivers (dev=0x11421000) at
../drivers/bus/pci/pci_common.c:381
#13 pci_plug (dev=0x114210a0) at ../drivers/bus/pci/pci_common.c:652
#14 0x0000000000a6d87c in local_dev_probe (devargs=devargs@entry=0x1154d400
"pci:0000:02:00.1,rq_cqe_comp_en=1", new_dev=0xfffff0dad5c0,
new_dev@entry=0xfffff0dad600) at ../lib/eal/common/eal_common_dev.c:230
#15 0x0000000000a6d9dc in rte_eal_hotplug_add_local (busname=0xb2d2c8 "pci",
devname=devname@entry=0xfffff0dad658 "0000:02:00.1", args=args@entry=0x0) at
../lib/eal/common/eal_common_dev.c:179
#16 0x0000000000f231c40cc in sf_eal_hotplug_add_local (port_id=0xfffff0dad68e,
devargs=<optimized out>) at
/root/rpmbuild/BUILD/sdn/platform/src/include/dataplane/primary/eal.h:77
#17 attach_port (port_id=<optimized out>, devargs=<optimized out>,
local=<optimized out>) at port.c:61
#18 0x0000000000f231c6020 in cmd_handler (cmd=0xfffff0dadae8,
cmd_rep=cmd_rep@entry=0xfffff0dad808) at msg.c:369
#19 0x0000000000f231c31f0 in command_handler (reply=0xfffff0dad7d8,
req=0xfffff0dadab8) at backend.c:110
#20 0x0000000000f231c1040, req=0xfffff0dad7d8, rep=0xfffff0dad7d8) at
backend.c:162
#21 0x0000000000f231c13f8 in process_msg (ep=0xfffff0x1140a140,
req=req@entry=0xfffff0dadab8, sa=sa@entry=0xfffff0dad48) at xipc.c:206
#22 0x0000000000f231c1728 in xipc_loop (handle=0x1140a140) at xipc.c:273
#23 0x0000000000f231c4244 in run_main_loop () at main.c:408
#24 main (argc=5, argv=<optimized out>) at main.c:505

(gdb)

like:
https://patches.dpdk.org/project/dpdk/patch/20250829053532.445865-1-rongweil@nvidia.com/

-- 
You are receiving this mail because:
You are the assignee for the bug.

                 reply	other threads:[~2025-11-13 13:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1827-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.