svn commit: r298293 - head/sys/net80211

Andriy Voskoboinyk avos at FreeBSD.org
Tue Apr 19 20:19:23 UTC 2016


Author: avos
Date: Tue Apr 19 20:19:21 2016
New Revision: 298293
URL: https://svnweb.freebsd.org/changeset/base/298293

Log:
  net80211: do not reschedule scan_curchan_task() if the scan was canceled.
  
  This should fix possible use-after-free in the scheduled task.
  
  PR:		208605

Modified:
  head/sys/net80211/ieee80211_scan_sw.c

Modified: head/sys/net80211/ieee80211_scan_sw.c
==============================================================================
--- head/sys/net80211/ieee80211_scan_sw.c	Tue Apr 19 20:12:46 2016	(r298292)
+++ head/sys/net80211/ieee80211_scan_sw.c	Tue Apr 19 20:19:21 2016	(r298293)
@@ -736,8 +736,11 @@ end:
 	/* clear mindwell lock and initial channel change flush */
 	ss_priv->ss_iflags &= ~ISCAN_REP;
 
-	if (ss_priv->ss_iflags & (ISCAN_CANCEL|ISCAN_ABORT))
+	if (ss_priv->ss_iflags & (ISCAN_CANCEL|ISCAN_ABORT)) {
+		taskqueue_cancel_timeout(ic->ic_tq, &ss_priv->ss_scan_curchan,
+		    NULL);
 		goto end;
+	}
 
 	IEEE80211_DPRINTF(ss->ss_vap, IEEE80211_MSG_SCAN, "%s: waiting\n",
 	    __func__);


More information about the svn-src-head mailing list