Bug 194111 - [lor] iwn0_com_lock <-> if_addr_lock
Summary: [lor] iwn0_com_lock <-> if_addr_lock
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 11.0-STABLE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2014-10-03 08:25 UTC by Jean-Sébastien Pédron
Modified: 2019-01-27 21:22 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Sébastien Pédron freebsd_committer freebsd_triage 2014-10-03 08:25:43 UTC
The following LOR appeared between r272024 and r272450:

Oct  3 10:11:38 magellan kernel: lock order reversal:
Oct  3 10:11:38 magellan kernel: 1st 0xfffffe0000f25018 iwn0_com_lock (iwn0_com_lock) @ /mnt/home/dumbbell/Projects/freebsd/src/SVN/head/sys/net80211/ieee80211_ioctl.c:3314
Oct  3 10:11:38 magellan kernel: 2nd 0xfffff800039b9990 if_addr_lock (if_addr_lock) @ /mnt/home/dumbbell/Projects/freebsd/src/SVN/head/sys/net/if.c:3278
Oct  3 10:11:38 magellan kernel: KDB: stack backtrace:
Oct  3 10:11:38 magellan kernel: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe012185e0e0
Oct  3 10:11:38 magellan kernel: kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe012185e190
Oct  3 10:11:38 magellan kernel: witness_checkorder() at witness_checkorder+0xdc2/frame 0xfffffe012185e220
Oct  3 10:11:38 magellan kernel: _rw_wlock_cookie() at _rw_wlock_cookie+0x71/frame 0xfffffe012185e260
Oct  3 10:11:38 magellan kernel: if_delallmulti() at if_delallmulti+0x28/frame 0xfffffe012185e290
Oct  3 10:11:38 magellan kernel: ieee80211_ioctl() at ieee80211_ioctl+0x22f/frame 0xfffffe012185e2e0
Oct  3 10:11:38 magellan kernel: lagg_port_ioctl() at lagg_port_ioctl+0xde/frame 0xfffffe012185e350
Oct  3 10:11:38 magellan kernel: if_addmulti() at if_addmulti+0x253/frame 0xfffffe012185e3d0
Oct  3 10:11:38 magellan kernel: lagg_ether_cmdmulti() at lagg_ether_cmdmulti+0x108/frame 0xfffffe012185e410
Oct  3 10:11:38 magellan kernel: lagg_ioctl() at lagg_ioctl+0x7eb/frame 0xfffffe012185e4f0
Oct  3 10:11:38 magellan kernel: if_addmulti() at if_addmulti+0x253/frame 0xfffffe012185e570
Oct  3 10:11:38 magellan kernel: in6_mc_join_locked() at in6_mc_join_locked+0x1a2/frame 0xfffffe012185e600
Oct  3 10:11:38 magellan kernel: in6_joingroup() at in6_joingroup+0x75/frame 0xfffffe012185e640
Oct  3 10:11:38 magellan kernel: in6_update_ifa() at in6_update_ifa+0xc37/frame 0xfffffe012185e740
Oct  3 10:11:38 magellan kernel: in6_ifattach() at in6_ifattach+0x455/frame 0xfffffe012185e970
Oct  3 10:11:38 magellan kernel: ifioctl() at ifioctl+0xad4/frame 0xfffffe012185ea30
Oct  3 10:11:38 magellan kernel: kern_ioctl() at kern_ioctl+0x22b/frame 0xfffffe012185ea90
Oct  3 10:11:38 magellan kernel: sys_ioctl() at sys_ioctl+0x13c/frame 0xfffffe012185eae0
Oct  3 10:11:38 magellan kernel: amd64_syscall() at amd64_syscall+0x25a/frame 0xfffffe012185ebf0
Oct  3 10:11:38 magellan kernel: Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe012185ebf0
Oct  3 10:11:38 magellan kernel: --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x8011df81a, rsp = 0x7fffffffe458, rbp = 0x7fffffffe4b0 ---

The lagg0 interface is configured like this in /etc/rc.conf:
ifconfig_lagg0="laggproto failover laggport re0 laggport wlan0 SYNCDHCP"
Comment 1 Andriy Voskoboinyk freebsd_committer freebsd_triage 2019-01-27 21:22:34 UTC
This code path does not exist since base r287197 (now only taskqueue_enqueue runs on SIOCADDMULTI / SIOCDELMULTI ioctls).