From nobody@FreeBSD.org  Thu Mar 28 21:44:13 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id BA765454
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 28 Mar 2013 21:44:13 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id ABDD565A
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 28 Mar 2013 21:44:13 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r2SLiD24060986
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 28 Mar 2013 21:44:13 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id r2SLiDO1060985;
	Thu, 28 Mar 2013 21:44:13 GMT
	(envelope-from nobody)
Message-Id: <201303282144.r2SLiDO1060985@red.freebsd.org>
Date: Thu, 28 Mar 2013 21:44:13 GMT
From: Davide Italiano <davide@FreeBSD.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: page fault in ieee80211_tx_mgt_timeout
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         177451
>Category:       kern
>Synopsis:       [ieee80211] page fault in ieee80211_tx_mgt_timeout
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-wireless
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 28 21:50:00 UTC 2013
>Closed-Date:    
>Last-Modified:  Fri Mar 29 22:50:00 UTC 2013
>Originator:     Davide Italiano
>Release:        FreeBSD 9.1-RELEASE
>Organization:
FreeBSD
>Environment:
FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012
    root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
Here's a report with all the informations:
http://people.freebsd.org/~davide/reports/adrian.txt
>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-wireless 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Thu Mar 28 22:38:47 UTC 2013 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=177451 

From: PseudoCylon <moonlightakkiy@yahoo.ca>
To: bug-followup@FreeBSD.org, davide@FreeBSD.org
Cc:  
Subject: Re: kern/177451: [ieee80211] page fault in ieee80211_tx_mgt_timeout
Date: Fri, 29 Mar 2013 15:21:58 -0600

 http://fxr.watson.org/fxr/source/net80211/ieee80211_output.c?v=FREEBSD91#L2506
 enum ieee80211_state ostate = (enum ieee80211_state) arg;
 casting a pointer to an enum
 
 http://fxr.watson.org/fxr/source/net80211/ieee80211_output.c?v=FREEBSD91#L2519
 if (vap->iv_state == ostate)
 So that, this test is always false -> callout_reset() will never be
 called -> by the time the callout timer runs out, ni could be freed.

From: PseudoCylon <moonlightakkiy@yahoo.ca>
To: bug-followup@freebsd.org, davide@freebsd.org
Cc:  
Subject: Re: kern/177451: [ieee80211] page fault in ieee80211_tx_mgt_timeout
Date: Fri, 29 Mar 2013 16:37:20 -0600

 Oops. The code casts the enum to the pointer to begin, so it works.
 
 Sorry, for the noise.
 
 On Fri, Mar 29, 2013 at 3:21 PM, PseudoCylon <moonlightakkiy@yahoo.ca> wrote:
 > http://fxr.watson.org/fxr/source/net80211/ieee80211_output.c?v=FREEBSD91#L2506
 > enum ieee80211_state ostate = (enum ieee80211_state) arg;
 > casting a pointer to an enum
 >
 > http://fxr.watson.org/fxr/source/net80211/ieee80211_output.c?v=FREEBSD91#L2519
 > if (vap->iv_state == ostate)
 > So that, this test is always false -> callout_reset() will never be
 > called -> by the time the callout timer runs out, ni could be freed.
>Unformatted:
