summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_ioctl.c
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2016-08-24 01:44:53 +0000
committerbdrewery <bdrewery@FreeBSD.org>2016-08-24 01:44:53 +0000
commit8a830000ef070b6a353365f3739ada854a2c5d8e (patch)
tree4f9bce1d2a0ac310d8f5fa6a8200b55ce235e4e6 /sys/net80211/ieee80211_ioctl.c
parent0a8d7f80744d48cbe9bad12240962d6c8fe50a17 (diff)
downloadFreeBSD-src-8a830000ef070b6a353365f3739ada854a2c5d8e.zip
FreeBSD-src-8a830000ef070b6a353365f3739ada854a2c5d8e.tar.gz
MFC r304322:
[net80211] correctly lock the ifp before accessing the lladdr.
Diffstat (limited to 'sys/net80211/ieee80211_ioctl.c')
-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