Re: if_ral + wpa_supplicant stack backtrace

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 24 Jun 2005 16:00:41 -0400
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.

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Fri Jun 24 2005 - 19:18:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:37 UTC