summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2016-08-24 02:31:03 +0000
committerbdrewery <bdrewery@FreeBSD.org>2016-08-24 02:31:03 +0000
commit8a9a3bc2c1420907aecf1ad94c281adbf1dcc4ce (patch)
treea2ed9ded12abe0cd3d0d4c6a79f5711bc0e1a541
parent644cee3dc52f8303ab470bfd96a174f91593443c (diff)
downloadFreeBSD-src-8a9a3bc2c1420907aecf1ad94c281adbf1dcc4ce.zip
FreeBSD-src-8a9a3bc2c1420907aecf1ad94c281adbf1dcc4ce.tar.gz
MFS r304715:
MFC r304322: [net80211] correctly lock the ifp before accessing the lladdr. Approved by: re (gjb)
-rw-r--r--sys/net80211/ieee80211_ioctl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c
index b65f23a..5d323c0 100644
--- a/sys/net80211/ieee80211_ioctl.c
+++ b/sys/net80211/ieee80211_ioctl.c
@@ -3394,10 +3394,12 @@ ieee80211_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
* Check if the MAC address was changed
* via SIOCSIFLLADDR ioctl.
*/
+ if_addr_rlock(ifp);
if ((ifp->if_flags & IFF_UP) == 0 &&
!IEEE80211_ADDR_EQ(vap->iv_myaddr, IF_LLADDR(ifp)))
IEEE80211_ADDR_COPY(vap->iv_myaddr,
IF_LLADDR(ifp));
+ if_addr_runlock(ifp);
}
break;
case SIOCADDMULTI:
OpenPOWER on IntegriCloud