From owner-p4-projects@FreeBSD.ORG Tue Apr 3 11:24:24 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B621B16A406; Tue, 3 Apr 2007 11:24:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 66E2816A404 for ; Tue, 3 Apr 2007 11:24:24 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5833C13C4C1 for ; Tue, 3 Apr 2007 11:24:24 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l33BOOpx065778 for ; Tue, 3 Apr 2007 11:24:24 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l33BOOZl065775 for perforce@freebsd.org; Tue, 3 Apr 2007 11:24:24 GMT (envelope-from sephe@FreeBSD.org) Date: Tue, 3 Apr 2007 11:24:24 GMT Message-Id: <200704031124.l33BOOZl065775@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 117268 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Apr 2007 11:24:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=117268 Change 117268 by sephe@sephe_zealot:sam_wifi on 2007/04/03 11:24:16 Prevent node refcnt leakage on error handling path. Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#16 edit .. //depot/projects/wifi/sys/dev/ral/rt2661.c#10 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#16 (text) ==== @@ -1983,9 +1983,10 @@ if (bpf_peers_present(ic->ic_rawbpf)) bpf_mtap(ic->ic_rawbpf, m0); - if (rt2560_tx_mgt(sc, m0, ni) != 0) + if (rt2560_tx_mgt(sc, m0, ni) != 0) { + ieee80211_free_node(ni); break; - + } } else { if (ic->ic_state != IEEE80211_S_RUN) break; ==== //depot/projects/wifi/sys/dev/ral/rt2661.c#10 (text) ==== @@ -1751,9 +1751,10 @@ if (bpf_peers_present(ic->ic_rawbpf)) bpf_mtap(ic->ic_rawbpf, m0); - if (rt2661_tx_mgt(sc, m0, ni) != 0) + if (rt2661_tx_mgt(sc, m0, ni) != 0) { + ieee80211_free_node(ni); break; - + } } else { if (ic->ic_state != IEEE80211_S_RUN) break; @@ -1790,6 +1791,7 @@ /* there is no place left in this ring */ IFQ_DRV_PREPEND(&ifp->if_snd, m0); ifp->if_drv_flags |= IFF_DRV_OACTIVE; + ieee80211_free_node(ni); break; }