From owner-freebsd-current@FreeBSD.ORG Fri Jun 24 21:18:43 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0B9A016A41C for ; Fri, 24 Jun 2005 21:18:43 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id B912643D53 for ; Fri, 24 Jun 2005 21:18:42 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from [10.50.41.231] (Not Verified[65.202.103.25]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Fri, 24 Jun 2005 17:32:19 -0400 From: John Baldwin To: freebsd-current@freebsd.org, Pascal Hofstee Date: Fri, 24 Jun 2005 16:00:41 -0400 User-Agent: KMail/1.8 References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200506241600.42470.jhb@FreeBSD.org> Cc: Rainer Hungershausen Subject: Re: if_ral + wpa_supplicant stack backtrace X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jun 2005 21:18:43 -0000 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. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org