Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Jun 2005 10:53:38 +0800 (CST)
From:      Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        Sam Leffler <sam@errno.com>, freebsd-current@freebsd.org, Rainer Hungershausen <hungershausen@gmail.com>, Pascal Hofstee <caelian@gmail.com>
Subject:   Re: if_ral + wpa_supplicant stack backtrace
Message-ID:  <0506251043379.48374@www.mmlab.cse.yzu.edu.tw>
In-Reply-To: <200506241600.42470.jhb@FreeBSD.org>
References:  <efc97a510506131305309812da@mail.gmail.com> <d8a0b76205061808561a27eb9f@mail.gmail.com> <200506241600.42470.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-1298518687-1119668018=:48374
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

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 @ /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
--0-1298518687-1119668018=:48374
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=ieee80211_ioctl.patch
Content-Transfer-Encoding: BASE64
Content-ID: <05062510533813.48374@www.mmlab.cse.yzu.edu.tw>
Content-Description: 
Content-Disposition: attachment; filename=ieee80211_ioctl.patch

LS0tIGllZWU4MDIxMV9pb2N0bC5jLm9yaWcJU2F0IEp1biAxOCAxNDowNzow
MSAyMDA1DQorKysgaWVlZTgwMjExX2lvY3RsLmMJU2F0IEp1biAyNSAxMDow
NDo0OCAyMDA1DQpAQCAtMTQ3NSw3ICsxNDc1LDcgQEANCiAJaWYgKGlyZXEt
PmlfbGVuID4gSUVFRTgwMjExX01BWF9PUFRfSUUpDQogCQlyZXR1cm4gRUlO
VkFMOw0KIAkvKiBOQjogZGF0YS5sZW5ndGggaXMgdmFsaWRhdGVkIGJ5IHRo
ZSB3aXJlbGVzcyBleHRlbnNpb25zIGNvZGUgKi8NCi0JTUFMTE9DKGllLCB2
b2lkICosIGlyZXEtPmlfbGVuLCBNX0RFVkJVRiwgTV9XQUlUT0spOw0KKwlN
QUxMT0MoaWUsIHZvaWQgKiwgaXJlcS0+aV9sZW4sIE1fREVWQlVGLCBNX05P
V0FJVCk7DQogCWlmIChpZSA9PSBOVUxMKQ0KIAkJcmV0dXJuIEVOT01FTTsN
CiAJZXJyb3IgPSBjb3B5aW4oaXJlcS0+aV9kYXRhLCBpZSwgaXJlcS0+aV9s
ZW4pOw0K

--0-1298518687-1119668018=:48374--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0506251043379.48374>