diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-11-11 17:23:31 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-11-13 17:43:59 -0500 |
commit | c258d2de972d1e391a3dec731e0801ed1cc85494 (patch) | |
tree | ce9dc296a89a02647a31931ddd1d117cf8d6ad94 /net/wireless | |
parent | f501dba4c4c5bda1b64c941997ab7ece1d503945 (diff) | |
download | op-kernel-dev-c258d2de972d1e391a3dec731e0801ed1cc85494.zip op-kernel-dev-c258d2de972d1e391a3dec731e0801ed1cc85494.tar.gz |
nl80211: only allow adding stations to running vlan interfaces
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/nl80211.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 5c8b3bfa..37264d5 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -1821,7 +1821,7 @@ static int nl80211_get_station(struct sk_buff *skb, struct genl_info *info) } /* - * Get vlan interface making sure it is on the right wiphy. + * Get vlan interface making sure it is running and on the right wiphy. */ static int get_vlan(struct genl_info *info, struct cfg80211_registered_device *rdev, @@ -1839,6 +1839,8 @@ static int get_vlan(struct genl_info *info, return -EINVAL; if ((*vlan)->ieee80211_ptr->wiphy != &rdev->wiphy) return -EINVAL; + if (!netif_running(*vlan)) + return -ENETDOWN; } return 0; } |