[Bug 271101] cxgbe(4): panic due to lock recursion while creating tracing interface
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 271101] cxgbe(4): panic due to lock recursion while creating tracing interface"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 271101] cxgbe(4): panic due to lock recursion while creating tracing interface"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 271101] cxgbe(4): panic due to lock recursion while creating tracing interface"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 271101] cxgbe(4): panic due to lock recursion while creating tracing interface"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 271101] cxgbe(4): panic due to lock recursion while creating tracing interface"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 27 Apr 2023 15:58:53 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271101 Bug ID: 271101 Summary: cxgbe(4): panic due to lock recursion while creating tracing interface Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: np@FreeBSD.org cxgbe registers an ifnet cloner with the kernel so that a pseudo ifnet can be created for use with tracing filters. This code seems to panic after the recent netlink changes. These are the steps to reproduce (T6 or T5): # ifconfig cc0 up # ifconfig t6nex0 create # ifconfig cxl0 up # ifconfig t5nex0 create The reason for the panic is that the new code calls the driver ioctl (tracer_ioctl) during the creation of the interface (ether_ifattach). This pseudo-ifnet driver has always used the same lock in both routines. #2 0xffffffff810e7a29 in vpanic (fmt=0xffffffff81b56047 "_sx_xlock_hard: recursed on non-recursive sx %s @ %s:%d\n", ap=0xfffffe0094b2e3b0) at /root/ws/t7/sys/kern/kern_shutdown.c:972 #3 0xffffffff810e726e in panic (fmt=0xffffffff81b56047 "_sx_xlock_hard: recursed on non-recursive sx %s @ %s:%d\n") at /root/ws/t7/sys/kern/kern_shutdown.c:896 #4 0xffffffff810f8b81 in _sx_xlock_hard (sx=0xffffffff833c9698 <t4_trace_lock>, x=18446735277694109504, opts=0, file=0xffffffff833a809d "/root/ws/t7/sys/dev/cxgbe/t4_tracer.c", line=487) at /root/ws/t7/sys/kern/kern_sx.c:628 #5 0xffffffff810f884b in _sx_xlock (sx=0xffffffff833c9698 <t4_trace_lock>, opts=0, file=0xffffffff833a809d "/root/ws/t7/sys/dev/cxgbe/t4_tracer.c", line=487) at /root/ws/t7/sys/kern/kern_sx.c:332 #6 0xffffffff8338fde0 in tracer_ioctl (ifp=0xfffff80001935800, cmd=3224398136, data=0xfffffe0094b2e698 "") at /root/ws/t7/sys/dev/cxgbe/t4_tracer.c:487 #7 0xffffffff814a20e7 in get_operstate_ether (ifp=0xfffff80001935800, pstate=0xfffffe0094b2e728) at /root/ws/t7/sys/netlink/route/iface.c:125 #8 0xffffffff814a1a2b in get_operstate (ifp=0xfffff80001935800, pstate=0xfffffe0094b2e728) at /root/ws/t7/sys/netlink/route/iface.c:182 #9 0xffffffff814a166d in dump_iface (nw=0xfffffe0094b2e770, ifp=0xfffff80001935800, hdr=0xfffffe0094b2e7b0, if_flags_mask=0) at /root/ws/t7/sys/netlink/route/iface.c:269 #10 0xffffffff814a0f5d in rtnl_handle_ifevent (ifp=0xfffff80001935800, nlmsg_type=16, if_flags_mask=0) at /root/ws/t7/sys/netlink/route/iface.c:952 #11 0xffffffff814a1212 in rtnl_handle_ifattach (arg=0x0, ifp=0xfffff80001935800) at /root/ws/t7/sys/netlink/route/iface.c:960 #12 0xffffffff812a6def in if_attach_internal (ifp=0xfffff80001935800, vmove=false) at /root/ws/t7/sys/net/if.c:958 #13 0xffffffff812a67b9 in if_attach (ifp=0xfffff80001935800) at /root/ws/t7/sys/net/if.c:773 #14 0xffffffff812b9a0d in ether_ifattach (ifp=0xfffff80001935800, lla=0xfffffe0094b2e908 "") at /root/ws/t7/sys/net/if_ethersubr.c:1002 #15 0xffffffff8338ef92 in t4_cloner_create (ifc=0xfffff800014a2600, name=0xfffffe0094b2ea50 "t6nex0", len=16, params=0x0) at /root/ws/t7/sys/dev/cxgbe/t4_tracer.c:196 #16 0xffffffff812b6f0a in ifc_advanced_create_wrapper (ifc=0xfffff800014a2600, name=0xfffffe0094b2ea50 "t6nex0", maxlen=16, ifc_data=0xfffffe0094b2eaa0, ifpp=0xfffffe0094b2ea20) at /root/ws/t7/sys/net/if_clone.c:468 #17 0xffffffff812b5894 in if_clone_createif (ifc=0xfffff800014a2600, name=0xfffffe0094b2ea50 "t6nex0", len=16, ifd=0xfffffe0094b2eaa0, ifpp=0xfffffe0094b2ea20) at /root/ws/t7/sys/net/if_clone.c:323 #18 0xffffffff812b56e7 in ifc_create_ifp (name=0xfffffe0094b2ed98 "t6nex0", ifd=0xfffffe0094b2eaa0, ifpp=0xfffffe0094b2ea98) at /root/ws/t7/sys/net/if_clone.c:205 #19 0xffffffff812b5983 in if_clone_create (name=0xfffffe0094b2ed98 "t6nex0", len=16, params=0x0) at /root/ws/t7/sys/net/if_clone.c:218 #20 0xffffffff812ae6ae in ifioctl (so=0xfffff800040dc000, cmd=3223349628, data=0xfffffe0094b2ed98 "t6nex0", td=0xfffff800049fc740) at /root/ws/t7/sys/net/if.c:3100 -- You are receiving this mail because: You are the assignee for the bug.