diff options
author | bdrewery <bdrewery@FreeBSD.org> | 2016-08-24 02:31:03 +0000 |
---|---|---|
committer | bdrewery <bdrewery@FreeBSD.org> | 2016-08-24 02:31:03 +0000 |
commit | 8a9a3bc2c1420907aecf1ad94c281adbf1dcc4ce (patch) | |
tree | a2ed9ded12abe0cd3d0d4c6a79f5711bc0e1a541 | |
parent | 644cee3dc52f8303ab470bfd96a174f91593443c (diff) | |
download | FreeBSD-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.c | 2 |
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: |