On Fri, 24 Jun 2005, John Baldwin wrote: > On Saturday 18 June 2005 11:56 am, Pascal Hofstee wrote: >> Hi, >> >> I am seeing period occurances of the same system call with the same >> WITNESS warning and similar backtrace on yesterday's AMD64 CURRENT. >> >> ---------------------- >> ral0: link state changed to DOWN >> malloc(M_WAITOK) of "32", forcing M_NOWAIT with the following >> non-sleepable locks held: >> exclusive sleep mutex ral0 (network driver) r = 0 (0xffffffff80c64de8) >> locked _at_ /usr/src/sys/dev/ral/if_ral.c:2167 >> KDB: stack backtrace: >> kdb_backtrace() at kdb_backtrace+0x37 >> witness_warn() at witness_warn+0x2c1 >> uma_zalloc_arg() at uma_zalloc_arg+0x69 >> malloc() at malloc+0xf5 >> ieee80211_ioctl_setoptie() at ieee80211_ioctl_setoptie+0x4b >> ieee80211_ioctl_set80211() at ieee80211_ioctl_set80211+0x64e >> ieee80211_ioctl() at ieee80211_ioctl+0x125 >> ral_ioctl() at ral_ioctl+0xa4 >> in_control() at in_control+0xc2f >> ifioctl() at ifioctl+0x1f6 >> soo_ioctl() at soo_ioctl+0x38c >> ioctl() at ioctl+0x476 >> syscall() at syscall+0x332 >> Xfast_syscall() at Xfast_syscall+0xa8 >> --- syscall (54, FreeBSD ELF64, ioctl), rip = 0x8007c2d4c, rsp = >> 0x7fffffffdfd8, rbp = 0x18 --- >> ral0: link state changed to UP >> ---------------------- >> >> I am indeed curious to understand what exactly is causing these WITNESS >> warnings > > This is a bug in ral(4) as it indiscriminately just holds its mutex across > ieee80211_ioctl() which isn't safe. The ral(4) maintainer needs to fix it. The same WITNESS warning also occurs in ath(4) whilst using wpa_supplicant. It looks to me that it's probably not individual driver's fault, but a known behaviour in net80211. Attached patch should suppress this warning; however, I'm not quite sure about whether it's safe to do so or not.... -- Cheers, Tai-hwa Liang
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:37 UTC