Loading net/wireless/nl80211.c +37 −48 Original line number Diff line number Diff line Loading @@ -2319,9 +2319,8 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) nla_for_each_nested(nl_txq_params, info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS], rem_txq_params) { result = nla_parse(tb, NL80211_TXQ_ATTR_MAX, nla_data(nl_txq_params), nla_len(nl_txq_params), result = nla_parse_nested(tb, NL80211_TXQ_ATTR_MAX, nl_txq_params, txq_params_policy); if (result) return result; Loading Loading @@ -3572,8 +3571,8 @@ static int nl80211_parse_tx_bitrate_mask(struct genl_info *info, sband = rdev->wiphy.bands[band]; if (sband == NULL) return -EINVAL; err = nla_parse(tb, NL80211_TXRATE_MAX, nla_data(tx_rates), nla_len(tx_rates), nl80211_txattr_policy); err = nla_parse_nested(tb, NL80211_TXRATE_MAX, tx_rates, nl80211_txattr_policy); if (err) return err; if (tb[NL80211_TXRATE_LEGACY]) { Loading Loading @@ -6329,9 +6328,8 @@ static int nl80211_set_reg(struct sk_buff *skb, struct genl_info *info) nla_for_each_nested(nl_reg_rule, info->attrs[NL80211_ATTR_REG_RULES], rem_reg_rules) { r = nla_parse(tb, NL80211_REG_RULE_ATTR_MAX, nla_data(nl_reg_rule), nla_len(nl_reg_rule), reg_rule_policy); r = nla_parse_nested(tb, NL80211_REG_RULE_ATTR_MAX, nl_reg_rule, reg_rule_policy); if (r) goto bad_reg; r = parse_reg_rule(tb, &rd->reg_rules[rule_idx]); Loading Loading @@ -6398,8 +6396,8 @@ static int parse_bss_select(struct nlattr *nla, struct wiphy *wiphy, if (!nla_ok(nest, nla_len(nest))) return -EINVAL; err = nla_parse(attr, NL80211_BSS_SELECT_ATTR_MAX, nla_data(nest), nla_len(nest), nl80211_bss_select_policy); err = nla_parse_nested(attr, NL80211_BSS_SELECT_ATTR_MAX, nest, nl80211_bss_select_policy); if (err) return err; Loading Loading @@ -6789,9 +6787,8 @@ nl80211_parse_sched_scan_plans(struct wiphy *wiphy, int n_plans, if (WARN_ON(i >= n_plans)) return -EINVAL; err = nla_parse(plan, NL80211_SCHED_SCAN_PLAN_MAX, nla_data(attr), nla_len(attr), nl80211_plan_policy); err = nla_parse_nested(plan, NL80211_SCHED_SCAN_PLAN_MAX, attr, nl80211_plan_policy); if (err) return err; Loading Loading @@ -6880,9 +6877,9 @@ nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev, tmp) { struct nlattr *rssi; err = nla_parse(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, nla_data(attr), nla_len(attr), nl80211_match_policy); err = nla_parse_nested(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, attr, nl80211_match_policy); if (err) return ERR_PTR(err); /* add other standalone attributes here */ Loading Loading @@ -7053,9 +7050,9 @@ nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev, tmp) { struct nlattr *ssid, *rssi; err = nla_parse(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, nla_data(attr), nla_len(attr), nl80211_match_policy); err = nla_parse_nested(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, attr, nl80211_match_policy); if (err) goto out_free; ssid = tb[NL80211_SCHED_SCAN_MATCH_ATTR_SSID]; Loading Loading @@ -9755,8 +9752,7 @@ static int nl80211_parse_wowlan_tcp(struct cfg80211_registered_device *rdev, if (!rdev->wiphy.wowlan->tcp) return -EINVAL; err = nla_parse(tb, MAX_NL80211_WOWLAN_TCP, nla_data(attr), nla_len(attr), err = nla_parse_nested(tb, MAX_NL80211_WOWLAN_TCP, attr, nl80211_wowlan_tcp_policy); if (err) return err; Loading Loading @@ -9902,9 +9898,7 @@ static int nl80211_parse_wowlan_nd(struct cfg80211_registered_device *rdev, goto out; } err = nla_parse(tb, NL80211_ATTR_MAX, nla_data(attr), nla_len(attr), nl80211_policy); err = nla_parse_nested(tb, NL80211_ATTR_MAX, attr, nl80211_policy); if (err) goto out; Loading Loading @@ -9938,9 +9932,8 @@ static int nl80211_set_wowlan(struct sk_buff *skb, struct genl_info *info) goto set_wakeup; } err = nla_parse(tb, MAX_NL80211_WOWLAN_TRIG, nla_data(info->attrs[NL80211_ATTR_WOWLAN_TRIGGERS]), nla_len(info->attrs[NL80211_ATTR_WOWLAN_TRIGGERS]), err = nla_parse_nested(tb, MAX_NL80211_WOWLAN_TRIG, info->attrs[NL80211_ATTR_WOWLAN_TRIGGERS], nl80211_wowlan_policy); if (err) return err; Loading Loading @@ -10023,8 +10016,8 @@ static int nl80211_set_wowlan(struct sk_buff *skb, struct genl_info *info) rem) { u8 *mask_pat; nla_parse(pat_tb, MAX_NL80211_PKTPAT, nla_data(pat), nla_len(pat), NULL); nla_parse_nested(pat_tb, MAX_NL80211_PKTPAT, pat, NULL); err = -EINVAL; if (!pat_tb[NL80211_PKTPAT_MASK] || !pat_tb[NL80211_PKTPAT_PATTERN]) Loading Loading @@ -10234,8 +10227,8 @@ static int nl80211_parse_coalesce_rule(struct cfg80211_registered_device *rdev, int rem, pat_len, mask_len, pkt_offset, n_patterns = 0; struct nlattr *pat_tb[NUM_NL80211_PKTPAT]; err = nla_parse(tb, NL80211_ATTR_COALESCE_RULE_MAX, nla_data(rule), nla_len(rule), nl80211_coalesce_policy); err = nla_parse_nested(tb, NL80211_ATTR_COALESCE_RULE_MAX, rule, nl80211_coalesce_policy); if (err) return err; Loading Loading @@ -10273,8 +10266,7 @@ static int nl80211_parse_coalesce_rule(struct cfg80211_registered_device *rdev, rem) { u8 *mask_pat; nla_parse(pat_tb, MAX_NL80211_PKTPAT, nla_data(pat), nla_len(pat), NULL); nla_parse_nested(pat_tb, MAX_NL80211_PKTPAT, pat, NULL); if (!pat_tb[NL80211_PKTPAT_MASK] || !pat_tb[NL80211_PKTPAT_PATTERN]) return -EINVAL; Loading Loading @@ -10393,9 +10385,8 @@ static int nl80211_set_rekey_data(struct sk_buff *skb, struct genl_info *info) if (!info->attrs[NL80211_ATTR_REKEY_DATA]) return -EINVAL; err = nla_parse(tb, MAX_NL80211_REKEY_DATA, nla_data(info->attrs[NL80211_ATTR_REKEY_DATA]), nla_len(info->attrs[NL80211_ATTR_REKEY_DATA]), err = nla_parse_nested(tb, MAX_NL80211_REKEY_DATA, info->attrs[NL80211_ATTR_REKEY_DATA], nl80211_rekey_policy); if (err) return err; Loading Loading @@ -10705,9 +10696,8 @@ static int nl80211_nan_add_func(struct sk_buff *skb, wdev->owner_nlportid != info->snd_portid) return -ENOTCONN; err = nla_parse(tb, NL80211_NAN_FUNC_ATTR_MAX, nla_data(info->attrs[NL80211_ATTR_NAN_FUNC]), nla_len(info->attrs[NL80211_ATTR_NAN_FUNC]), err = nla_parse_nested(tb, NL80211_NAN_FUNC_ATTR_MAX, info->attrs[NL80211_ATTR_NAN_FUNC], nl80211_nan_func_policy); if (err) return err; Loading Loading @@ -10803,9 +10793,8 @@ static int nl80211_nan_add_func(struct sk_buff *skb, if (tb[NL80211_NAN_FUNC_SRF]) { struct nlattr *srf_tb[NUM_NL80211_NAN_SRF_ATTR]; err = nla_parse(srf_tb, NL80211_NAN_SRF_ATTR_MAX, nla_data(tb[NL80211_NAN_FUNC_SRF]), nla_len(tb[NL80211_NAN_FUNC_SRF]), err = nla_parse_nested(srf_tb, NL80211_NAN_SRF_ATTR_MAX, tb[NL80211_NAN_FUNC_SRF], nl80211_nan_srf_policy); if (err) goto out; Loading Loading
net/wireless/nl80211.c +37 −48 Original line number Diff line number Diff line Loading @@ -2319,9 +2319,8 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) nla_for_each_nested(nl_txq_params, info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS], rem_txq_params) { result = nla_parse(tb, NL80211_TXQ_ATTR_MAX, nla_data(nl_txq_params), nla_len(nl_txq_params), result = nla_parse_nested(tb, NL80211_TXQ_ATTR_MAX, nl_txq_params, txq_params_policy); if (result) return result; Loading Loading @@ -3572,8 +3571,8 @@ static int nl80211_parse_tx_bitrate_mask(struct genl_info *info, sband = rdev->wiphy.bands[band]; if (sband == NULL) return -EINVAL; err = nla_parse(tb, NL80211_TXRATE_MAX, nla_data(tx_rates), nla_len(tx_rates), nl80211_txattr_policy); err = nla_parse_nested(tb, NL80211_TXRATE_MAX, tx_rates, nl80211_txattr_policy); if (err) return err; if (tb[NL80211_TXRATE_LEGACY]) { Loading Loading @@ -6329,9 +6328,8 @@ static int nl80211_set_reg(struct sk_buff *skb, struct genl_info *info) nla_for_each_nested(nl_reg_rule, info->attrs[NL80211_ATTR_REG_RULES], rem_reg_rules) { r = nla_parse(tb, NL80211_REG_RULE_ATTR_MAX, nla_data(nl_reg_rule), nla_len(nl_reg_rule), reg_rule_policy); r = nla_parse_nested(tb, NL80211_REG_RULE_ATTR_MAX, nl_reg_rule, reg_rule_policy); if (r) goto bad_reg; r = parse_reg_rule(tb, &rd->reg_rules[rule_idx]); Loading Loading @@ -6398,8 +6396,8 @@ static int parse_bss_select(struct nlattr *nla, struct wiphy *wiphy, if (!nla_ok(nest, nla_len(nest))) return -EINVAL; err = nla_parse(attr, NL80211_BSS_SELECT_ATTR_MAX, nla_data(nest), nla_len(nest), nl80211_bss_select_policy); err = nla_parse_nested(attr, NL80211_BSS_SELECT_ATTR_MAX, nest, nl80211_bss_select_policy); if (err) return err; Loading Loading @@ -6789,9 +6787,8 @@ nl80211_parse_sched_scan_plans(struct wiphy *wiphy, int n_plans, if (WARN_ON(i >= n_plans)) return -EINVAL; err = nla_parse(plan, NL80211_SCHED_SCAN_PLAN_MAX, nla_data(attr), nla_len(attr), nl80211_plan_policy); err = nla_parse_nested(plan, NL80211_SCHED_SCAN_PLAN_MAX, attr, nl80211_plan_policy); if (err) return err; Loading Loading @@ -6880,9 +6877,9 @@ nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev, tmp) { struct nlattr *rssi; err = nla_parse(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, nla_data(attr), nla_len(attr), nl80211_match_policy); err = nla_parse_nested(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, attr, nl80211_match_policy); if (err) return ERR_PTR(err); /* add other standalone attributes here */ Loading Loading @@ -7053,9 +7050,9 @@ nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev, tmp) { struct nlattr *ssid, *rssi; err = nla_parse(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, nla_data(attr), nla_len(attr), nl80211_match_policy); err = nla_parse_nested(tb, NL80211_SCHED_SCAN_MATCH_ATTR_MAX, attr, nl80211_match_policy); if (err) goto out_free; ssid = tb[NL80211_SCHED_SCAN_MATCH_ATTR_SSID]; Loading Loading @@ -9755,8 +9752,7 @@ static int nl80211_parse_wowlan_tcp(struct cfg80211_registered_device *rdev, if (!rdev->wiphy.wowlan->tcp) return -EINVAL; err = nla_parse(tb, MAX_NL80211_WOWLAN_TCP, nla_data(attr), nla_len(attr), err = nla_parse_nested(tb, MAX_NL80211_WOWLAN_TCP, attr, nl80211_wowlan_tcp_policy); if (err) return err; Loading Loading @@ -9902,9 +9898,7 @@ static int nl80211_parse_wowlan_nd(struct cfg80211_registered_device *rdev, goto out; } err = nla_parse(tb, NL80211_ATTR_MAX, nla_data(attr), nla_len(attr), nl80211_policy); err = nla_parse_nested(tb, NL80211_ATTR_MAX, attr, nl80211_policy); if (err) goto out; Loading Loading @@ -9938,9 +9932,8 @@ static int nl80211_set_wowlan(struct sk_buff *skb, struct genl_info *info) goto set_wakeup; } err = nla_parse(tb, MAX_NL80211_WOWLAN_TRIG, nla_data(info->attrs[NL80211_ATTR_WOWLAN_TRIGGERS]), nla_len(info->attrs[NL80211_ATTR_WOWLAN_TRIGGERS]), err = nla_parse_nested(tb, MAX_NL80211_WOWLAN_TRIG, info->attrs[NL80211_ATTR_WOWLAN_TRIGGERS], nl80211_wowlan_policy); if (err) return err; Loading Loading @@ -10023,8 +10016,8 @@ static int nl80211_set_wowlan(struct sk_buff *skb, struct genl_info *info) rem) { u8 *mask_pat; nla_parse(pat_tb, MAX_NL80211_PKTPAT, nla_data(pat), nla_len(pat), NULL); nla_parse_nested(pat_tb, MAX_NL80211_PKTPAT, pat, NULL); err = -EINVAL; if (!pat_tb[NL80211_PKTPAT_MASK] || !pat_tb[NL80211_PKTPAT_PATTERN]) Loading Loading @@ -10234,8 +10227,8 @@ static int nl80211_parse_coalesce_rule(struct cfg80211_registered_device *rdev, int rem, pat_len, mask_len, pkt_offset, n_patterns = 0; struct nlattr *pat_tb[NUM_NL80211_PKTPAT]; err = nla_parse(tb, NL80211_ATTR_COALESCE_RULE_MAX, nla_data(rule), nla_len(rule), nl80211_coalesce_policy); err = nla_parse_nested(tb, NL80211_ATTR_COALESCE_RULE_MAX, rule, nl80211_coalesce_policy); if (err) return err; Loading Loading @@ -10273,8 +10266,7 @@ static int nl80211_parse_coalesce_rule(struct cfg80211_registered_device *rdev, rem) { u8 *mask_pat; nla_parse(pat_tb, MAX_NL80211_PKTPAT, nla_data(pat), nla_len(pat), NULL); nla_parse_nested(pat_tb, MAX_NL80211_PKTPAT, pat, NULL); if (!pat_tb[NL80211_PKTPAT_MASK] || !pat_tb[NL80211_PKTPAT_PATTERN]) return -EINVAL; Loading Loading @@ -10393,9 +10385,8 @@ static int nl80211_set_rekey_data(struct sk_buff *skb, struct genl_info *info) if (!info->attrs[NL80211_ATTR_REKEY_DATA]) return -EINVAL; err = nla_parse(tb, MAX_NL80211_REKEY_DATA, nla_data(info->attrs[NL80211_ATTR_REKEY_DATA]), nla_len(info->attrs[NL80211_ATTR_REKEY_DATA]), err = nla_parse_nested(tb, MAX_NL80211_REKEY_DATA, info->attrs[NL80211_ATTR_REKEY_DATA], nl80211_rekey_policy); if (err) return err; Loading Loading @@ -10705,9 +10696,8 @@ static int nl80211_nan_add_func(struct sk_buff *skb, wdev->owner_nlportid != info->snd_portid) return -ENOTCONN; err = nla_parse(tb, NL80211_NAN_FUNC_ATTR_MAX, nla_data(info->attrs[NL80211_ATTR_NAN_FUNC]), nla_len(info->attrs[NL80211_ATTR_NAN_FUNC]), err = nla_parse_nested(tb, NL80211_NAN_FUNC_ATTR_MAX, info->attrs[NL80211_ATTR_NAN_FUNC], nl80211_nan_func_policy); if (err) return err; Loading Loading @@ -10803,9 +10793,8 @@ static int nl80211_nan_add_func(struct sk_buff *skb, if (tb[NL80211_NAN_FUNC_SRF]) { struct nlattr *srf_tb[NUM_NL80211_NAN_SRF_ATTR]; err = nla_parse(srf_tb, NL80211_NAN_SRF_ATTR_MAX, nla_data(tb[NL80211_NAN_FUNC_SRF]), nla_len(tb[NL80211_NAN_FUNC_SRF]), err = nla_parse_nested(srf_tb, NL80211_NAN_SRF_ATTR_MAX, tb[NL80211_NAN_FUNC_SRF], nl80211_nan_srf_policy); if (err) goto out; Loading