diff options
author | Sunil Dutt <usdutt@codeaurora.org> | 2019-02-25 05:07:20 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-03-29 06:23:09 -0400 |
commit | d6db02a88a4aaa1cd7105137c67ddec7f3bdbc05 (patch) | |
tree | 0ad8dd4c1b8dc578b1d5579f0d160b0104d14942 /net/wireless | |
parent | 90abf96abd9bb00f36c8d3640255e6bfa73f7495 (diff) |
nl80211: Add NL80211_FLAG_CLEAR_SKB flag for other NL commands
This commit adds NL80211_FLAG_CLEAR_SKB flag to other NL commands
that carry key data to ensure they do not stick around on heap
after the SKB is freed.
Also introduced this flag for NL80211_CMD_VENDOR as there are sub
commands which configure the keys.
Signed-off-by: Sunil Dutt <usdutt@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/nl80211.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 25a9e3b5c154..47e30a58566c 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -13650,7 +13650,8 @@ static const struct genl_ops nl80211_ops[] = { | |||
13650 | .policy = nl80211_policy, | 13650 | .policy = nl80211_policy, |
13651 | .flags = GENL_UNS_ADMIN_PERM, | 13651 | .flags = GENL_UNS_ADMIN_PERM, |
13652 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | | 13652 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | |
13653 | NL80211_FLAG_NEED_RTNL, | 13653 | NL80211_FLAG_NEED_RTNL | |
13654 | NL80211_FLAG_CLEAR_SKB, | ||
13654 | }, | 13655 | }, |
13655 | { | 13656 | { |
13656 | .cmd = NL80211_CMD_DEAUTHENTICATE, | 13657 | .cmd = NL80211_CMD_DEAUTHENTICATE, |
@@ -13701,7 +13702,8 @@ static const struct genl_ops nl80211_ops[] = { | |||
13701 | .policy = nl80211_policy, | 13702 | .policy = nl80211_policy, |
13702 | .flags = GENL_UNS_ADMIN_PERM, | 13703 | .flags = GENL_UNS_ADMIN_PERM, |
13703 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | | 13704 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | |
13704 | NL80211_FLAG_NEED_RTNL, | 13705 | NL80211_FLAG_NEED_RTNL | |
13706 | NL80211_FLAG_CLEAR_SKB, | ||
13705 | }, | 13707 | }, |
13706 | { | 13708 | { |
13707 | .cmd = NL80211_CMD_UPDATE_CONNECT_PARAMS, | 13709 | .cmd = NL80211_CMD_UPDATE_CONNECT_PARAMS, |
@@ -13709,7 +13711,8 @@ static const struct genl_ops nl80211_ops[] = { | |||
13709 | .policy = nl80211_policy, | 13711 | .policy = nl80211_policy, |
13710 | .flags = GENL_ADMIN_PERM, | 13712 | .flags = GENL_ADMIN_PERM, |
13711 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | | 13713 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | |
13712 | NL80211_FLAG_NEED_RTNL, | 13714 | NL80211_FLAG_NEED_RTNL | |
13715 | NL80211_FLAG_CLEAR_SKB, | ||
13713 | }, | 13716 | }, |
13714 | { | 13717 | { |
13715 | .cmd = NL80211_CMD_DISCONNECT, | 13718 | .cmd = NL80211_CMD_DISCONNECT, |
@@ -13738,7 +13741,8 @@ static const struct genl_ops nl80211_ops[] = { | |||
13738 | .policy = nl80211_policy, | 13741 | .policy = nl80211_policy, |
13739 | .flags = GENL_UNS_ADMIN_PERM, | 13742 | .flags = GENL_UNS_ADMIN_PERM, |
13740 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | | 13743 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | |
13741 | NL80211_FLAG_NEED_RTNL, | 13744 | NL80211_FLAG_NEED_RTNL | |
13745 | NL80211_FLAG_CLEAR_SKB, | ||
13742 | }, | 13746 | }, |
13743 | { | 13747 | { |
13744 | .cmd = NL80211_CMD_DEL_PMKSA, | 13748 | .cmd = NL80211_CMD_DEL_PMKSA, |
@@ -14090,7 +14094,8 @@ static const struct genl_ops nl80211_ops[] = { | |||
14090 | .policy = nl80211_policy, | 14094 | .policy = nl80211_policy, |
14091 | .flags = GENL_UNS_ADMIN_PERM, | 14095 | .flags = GENL_UNS_ADMIN_PERM, |
14092 | .internal_flags = NL80211_FLAG_NEED_WIPHY | | 14096 | .internal_flags = NL80211_FLAG_NEED_WIPHY | |
14093 | NL80211_FLAG_NEED_RTNL, | 14097 | NL80211_FLAG_NEED_RTNL | |
14098 | NL80211_FLAG_CLEAR_SKB, | ||
14094 | }, | 14099 | }, |
14095 | { | 14100 | { |
14096 | .cmd = NL80211_CMD_SET_QOS_MAP, | 14101 | .cmd = NL80211_CMD_SET_QOS_MAP, |
@@ -14145,7 +14150,8 @@ static const struct genl_ops nl80211_ops[] = { | |||
14145 | .doit = nl80211_set_pmk, | 14150 | .doit = nl80211_set_pmk, |
14146 | .policy = nl80211_policy, | 14151 | .policy = nl80211_policy, |
14147 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | | 14152 | .internal_flags = NL80211_FLAG_NEED_NETDEV_UP | |
14148 | NL80211_FLAG_NEED_RTNL, | 14153 | NL80211_FLAG_NEED_RTNL | |
14154 | NL80211_FLAG_CLEAR_SKB, | ||
14149 | }, | 14155 | }, |
14150 | { | 14156 | { |
14151 | .cmd = NL80211_CMD_DEL_PMK, | 14157 | .cmd = NL80211_CMD_DEL_PMK, |