[Bug 289184] lock order reversal between tcphash (tcp_usrreq.c:1529) and in6_ifaddr_lock (in6_src.c:301)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 12 Sep 2025 19:36:36 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289184
Jonathan T. Looney <jtl@freebsd.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jtl@freebsd.org
--- Comment #1 from Jonathan T. Looney <jtl@freebsd.org> ---
(In reply to Gordon Bergling from comment #0)
I can't reproduce that locally, but I think that lock order is correct.
Can you try running with the below patch? Hopefully, this will find the place
where the other lock order is used.
diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c
index a65c3ca128d9..047366679adb 100644
--- a/sys/kern/subr_witness.c
+++ b/sys/kern/subr_witness.c
@@ -566,6 +566,12 @@ static struct witness_order_list_entry order_lists[] = {
{ "tcp", &lock_class_mtx_sleep },
{ "so_snd", &lock_class_mtx_sleep },
{ NULL, NULL },
+ /*
+ * IPv6 Addr
+ */
+ { "tcphash", &lock_class_mtx_sleep },
+ { "in6_ifaddr_lock", &lock_class_rm },
+ { NULL, NULL },
/*
* BPF
*/
--
You are receiving this mail because:
You are the assignee for the bug.