summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2008-03-27 18:02:30 +0000
committeriedowse <iedowse@FreeBSD.org>2008-03-27 18:02:30 +0000
commit8b81d719e16ff5e6da5d41c553b89216e72864fe (patch)
tree835f961eb739d11c8c6aa9d518136e34953f498e
parent591c29cdac9ec42c437c6dad35d50875215962fa (diff)
downloadFreeBSD-src-8b81d719e16ff5e6da5d41c553b89216e72864fe.zip
FreeBSD-src-8b81d719e16ff5e6da5d41c553b89216e72864fe.tar.gz
Add IFF_NEEDSGIANT to IFF_CANTCHANGE, to prevent user-level code
from clearing the IFF_NEEDSGIANT flag on Giant-locked interfaces. In particular, wpa_supplicant was doing this on USB interfaces, causing panics when Giant-locked code was then called without Giant. Submitted by: Alexey Popov Reviewed by: rwatson MFC after: 3 days
-rw-r--r--sys/net/if.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net/if.h b/sys/net/if.h
index 2d1700a..95566fb 100644
--- a/sys/net/if.h
+++ b/sys/net/if.h
@@ -163,7 +163,8 @@ struct if_data {
/* flags set internally only: */
#define IFF_CANTCHANGE \
(IFF_BROADCAST|IFF_POINTOPOINT|IFF_DRV_RUNNING|IFF_DRV_OACTIVE|\
- IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI|IFF_SMART|IFF_PROMISC)
+ IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI|IFF_SMART|IFF_PROMISC|\
+ IFF_NEEDSGIANT)
/*
* Values for if_link_state.
OpenPOWER on IntegriCloud