Skip to content

Commit fe52145

Browse files
jmberg-inteldavem330
authored andcommitted
netlink: pass extended ACK struct where available
This is an add-on to the previous patch that passes the extended ACK structure where it's already available by existing genl_info or extack function arguments. This was done with this spatch (with some manual adjustment of indentation): @@ expression A, B, C, D, E; identifier fn, info; @@ fn(..., struct genl_info *info, ...) { ... -nlmsg_parse(A, B, C, D, E, NULL) +nlmsg_parse(A, B, C, D, E, info->extack) ... } @@ expression A, B, C, D, E; identifier fn, info; @@ fn(..., struct genl_info *info, ...) { <... -nla_parse_nested(A, B, C, D, NULL) +nla_parse_nested(A, B, C, D, info->extack) ...> } @@ expression A, B, C, D, E; identifier fn, extack; @@ fn(..., struct netlink_ext_ack *extack, ...) { <... -nlmsg_parse(A, B, C, D, E, NULL) +nlmsg_parse(A, B, C, D, E, extack) ...> } @@ expression A, B, C, D, E; identifier fn, extack; @@ fn(..., struct netlink_ext_ack *extack, ...) { <... -nla_parse(A, B, C, D, E, NULL) +nla_parse(A, B, C, D, E, extack) ...> } @@ expression A, B, C, D, E; identifier fn, extack; @@ fn(..., struct netlink_ext_ack *extack, ...) { ... -nlmsg_parse(A, B, C, D, E, NULL) +nlmsg_parse(A, B, C, D, E, extack) ... } @@ expression A, B, C, D; identifier fn, extack; @@ fn(..., struct netlink_ext_ack *extack, ...) { <... -nla_parse_nested(A, B, C, D, NULL) +nla_parse_nested(A, B, C, D, extack) ...> } @@ expression A, B, C, D; identifier fn, extack; @@ fn(..., struct netlink_ext_ack *extack, ...) { <... -nlmsg_validate(A, B, C, D, NULL) +nlmsg_validate(A, B, C, D, extack) ...> } @@ expression A, B, C, D; identifier fn, extack; @@ fn(..., struct netlink_ext_ack *extack, ...) { <... -nla_validate(A, B, C, D, NULL) +nla_validate(A, B, C, D, extack) ...> } @@ expression A, B, C; identifier fn, extack; @@ fn(..., struct netlink_ext_ack *extack, ...) { <... -nla_validate_nested(A, B, C, NULL) +nla_validate_nested(A, B, C, extack) ...> } Signed-off-by: Johannes Berg <[email protected]> Reviewed-by: Jiri Pirko <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent fceb643 commit fe52145

File tree

12 files changed

+43
-39
lines changed

12 files changed

+43
-39
lines changed

crypto/crypto_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ static int crypto_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh,
523523
}
524524

525525
err = nlmsg_parse(nlh, crypto_msg_min[type], attrs, CRYPTOCFGA_MAX,
526-
crypto_policy, NULL);
526+
crypto_policy, extack);
527527
if (err < 0)
528528
return err;
529529

drivers/net/team/team.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2471,7 +2471,8 @@ static int team_nl_cmd_options_set(struct sk_buff *skb, struct genl_info *info)
24712471
goto team_put;
24722472
}
24732473
err = nla_parse_nested(opt_attrs, TEAM_ATTR_OPTION_MAX,
2474-
nl_option, team_nl_option_policy, NULL);
2474+
nl_option, team_nl_option_policy,
2475+
info->extack);
24752476
if (err)
24762477
goto team_put;
24772478
if (!opt_attrs[TEAM_ATTR_OPTION_NAME] ||

net/ieee802154/nl802154.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1564,7 +1564,7 @@ static int nl802154_add_llsec_key(struct sk_buff *skb, struct genl_info *info)
15641564

15651565
if (nla_parse_nested(attrs, NL802154_KEY_ATTR_MAX,
15661566
info->attrs[NL802154_ATTR_SEC_KEY],
1567-
nl802154_key_policy, NULL))
1567+
nl802154_key_policy, info->extack))
15681568
return -EINVAL;
15691569

15701570
if (!attrs[NL802154_KEY_ATTR_USAGE_FRAMES] ||
@@ -1614,7 +1614,7 @@ static int nl802154_del_llsec_key(struct sk_buff *skb, struct genl_info *info)
16141614

16151615
if (nla_parse_nested(attrs, NL802154_KEY_ATTR_MAX,
16161616
info->attrs[NL802154_ATTR_SEC_KEY],
1617-
nl802154_key_policy, NULL))
1617+
nl802154_key_policy, info->extack))
16181618
return -EINVAL;
16191619

16201620
if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0)
@@ -1782,7 +1782,7 @@ static int nl802154_del_llsec_dev(struct sk_buff *skb, struct genl_info *info)
17821782

17831783
if (nla_parse_nested(attrs, NL802154_DEV_ATTR_MAX,
17841784
info->attrs[NL802154_ATTR_SEC_DEVICE],
1785-
nl802154_dev_policy, NULL))
1785+
nl802154_dev_policy, info->extack))
17861786
return -EINVAL;
17871787

17881788
if (!attrs[NL802154_DEV_ATTR_EXTENDED_ADDR])
@@ -1910,7 +1910,7 @@ static int nl802154_add_llsec_devkey(struct sk_buff *skb, struct genl_info *info
19101910
if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] ||
19111911
nla_parse_nested(attrs, NL802154_DEVKEY_ATTR_MAX,
19121912
info->attrs[NL802154_ATTR_SEC_DEVKEY],
1913-
nl802154_devkey_policy, NULL) < 0)
1913+
nl802154_devkey_policy, info->extack) < 0)
19141914
return -EINVAL;
19151915

19161916
if (!attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER] ||
@@ -1942,7 +1942,7 @@ static int nl802154_del_llsec_devkey(struct sk_buff *skb, struct genl_info *info
19421942

19431943
if (nla_parse_nested(attrs, NL802154_DEVKEY_ATTR_MAX,
19441944
info->attrs[NL802154_ATTR_SEC_DEVKEY],
1945-
nl802154_devkey_policy, NULL))
1945+
nl802154_devkey_policy, info->extack))
19461946
return -EINVAL;
19471947

19481948
if (!attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR])

net/netfilter/ipvs/ip_vs_ctl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3532,7 +3532,7 @@ static int ip_vs_genl_set_daemon(struct sk_buff *skb, struct genl_info *info)
35323532
if (!info->attrs[IPVS_CMD_ATTR_DAEMON] ||
35333533
nla_parse_nested(daemon_attrs, IPVS_DAEMON_ATTR_MAX,
35343534
info->attrs[IPVS_CMD_ATTR_DAEMON],
3535-
ip_vs_daemon_policy, NULL))
3535+
ip_vs_daemon_policy, info->extack))
35363536
goto out;
35373537

35383538
if (cmd == IPVS_CMD_NEW_DAEMON)

net/netfilter/nfnetlink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ static int nfnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh,
193193
__u8 subsys_id = NFNL_SUBSYS_ID(type);
194194

195195
err = nla_parse(cda, ss->cb[cb_id].attr_count, attr, attrlen,
196-
ss->cb[cb_id].policy, NULL);
196+
ss->cb[cb_id].policy, extack);
197197
if (err < 0) {
198198
rcu_read_unlock();
199199
return err;

net/netlink/genetlink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@ static int genl_family_rcv_msg(const struct genl_family *family,
574574

575575
if (attrbuf) {
576576
err = nlmsg_parse(nlh, hdrlen, attrbuf, family->maxattr,
577-
ops->policy, NULL);
577+
ops->policy, extack);
578578
if (err < 0)
579579
goto out;
580580
}

net/nfc/netlink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1162,7 +1162,7 @@ static int nfc_genl_llc_sdreq(struct sk_buff *skb, struct genl_info *info)
11621162

11631163
nla_for_each_nested(attr, info->attrs[NFC_ATTR_LLC_SDP], rem) {
11641164
rc = nla_parse_nested(sdp_attrs, NFC_SDP_ATTR_MAX, attr,
1165-
nfc_sdp_genl_policy, NULL);
1165+
nfc_sdp_genl_policy, info->extack);
11661166

11671167
if (rc != 0) {
11681168
rc = -EINVAL;

net/tipc/bearer.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ int tipc_nl_bearer_get(struct sk_buff *skb, struct genl_info *info)
802802

803803
err = nla_parse_nested(attrs, TIPC_NLA_BEARER_MAX,
804804
info->attrs[TIPC_NLA_BEARER],
805-
tipc_nl_bearer_policy, NULL);
805+
tipc_nl_bearer_policy, info->extack);
806806
if (err)
807807
return err;
808808

@@ -851,7 +851,7 @@ int tipc_nl_bearer_disable(struct sk_buff *skb, struct genl_info *info)
851851

852852
err = nla_parse_nested(attrs, TIPC_NLA_BEARER_MAX,
853853
info->attrs[TIPC_NLA_BEARER],
854-
tipc_nl_bearer_policy, NULL);
854+
tipc_nl_bearer_policy, info->extack);
855855
if (err)
856856
return err;
857857

@@ -891,7 +891,7 @@ int tipc_nl_bearer_enable(struct sk_buff *skb, struct genl_info *info)
891891

892892
err = nla_parse_nested(attrs, TIPC_NLA_BEARER_MAX,
893893
info->attrs[TIPC_NLA_BEARER],
894-
tipc_nl_bearer_policy, NULL);
894+
tipc_nl_bearer_policy, info->extack);
895895
if (err)
896896
return err;
897897

@@ -939,7 +939,7 @@ int tipc_nl_bearer_add(struct sk_buff *skb, struct genl_info *info)
939939

940940
err = nla_parse_nested(attrs, TIPC_NLA_BEARER_MAX,
941941
info->attrs[TIPC_NLA_BEARER],
942-
tipc_nl_bearer_policy, NULL);
942+
tipc_nl_bearer_policy, info->extack);
943943
if (err)
944944
return err;
945945

@@ -982,7 +982,7 @@ int tipc_nl_bearer_set(struct sk_buff *skb, struct genl_info *info)
982982

983983
err = nla_parse_nested(attrs, TIPC_NLA_BEARER_MAX,
984984
info->attrs[TIPC_NLA_BEARER],
985-
tipc_nl_bearer_policy, NULL);
985+
tipc_nl_bearer_policy, info->extack);
986986
if (err)
987987
return err;
988988

@@ -1104,7 +1104,7 @@ int tipc_nl_media_get(struct sk_buff *skb, struct genl_info *info)
11041104

11051105
err = nla_parse_nested(attrs, TIPC_NLA_MEDIA_MAX,
11061106
info->attrs[TIPC_NLA_MEDIA],
1107-
tipc_nl_media_policy, NULL);
1107+
tipc_nl_media_policy, info->extack);
11081108
if (err)
11091109
return err;
11101110

@@ -1152,7 +1152,7 @@ int tipc_nl_media_set(struct sk_buff *skb, struct genl_info *info)
11521152

11531153
err = nla_parse_nested(attrs, TIPC_NLA_MEDIA_MAX,
11541154
info->attrs[TIPC_NLA_MEDIA],
1155-
tipc_nl_media_policy, NULL);
1155+
tipc_nl_media_policy, info->extack);
11561156

11571157
if (!attrs[TIPC_NLA_MEDIA_NAME])
11581158
return -EINVAL;

net/tipc/net.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ int tipc_nl_net_set(struct sk_buff *skb, struct genl_info *info)
212212

213213
err = nla_parse_nested(attrs, TIPC_NLA_NET_MAX,
214214
info->attrs[TIPC_NLA_NET], tipc_nl_net_policy,
215-
NULL);
215+
info->extack);
216216
if (err)
217217
return err;
218218

net/tipc/node.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1608,7 +1608,7 @@ int tipc_nl_peer_rm(struct sk_buff *skb, struct genl_info *info)
16081608

16091609
err = nla_parse_nested(attrs, TIPC_NLA_NET_MAX,
16101610
info->attrs[TIPC_NLA_NET], tipc_nl_net_policy,
1611-
NULL);
1611+
info->extack);
16121612
if (err)
16131613
return err;
16141614

@@ -1774,7 +1774,7 @@ int tipc_nl_node_set_link(struct sk_buff *skb, struct genl_info *info)
17741774

17751775
err = nla_parse_nested(attrs, TIPC_NLA_LINK_MAX,
17761776
info->attrs[TIPC_NLA_LINK],
1777-
tipc_nl_link_policy, NULL);
1777+
tipc_nl_link_policy, info->extack);
17781778
if (err)
17791779
return err;
17801780

@@ -1902,7 +1902,7 @@ int tipc_nl_node_reset_link_stats(struct sk_buff *skb, struct genl_info *info)
19021902

19031903
err = nla_parse_nested(attrs, TIPC_NLA_LINK_MAX,
19041904
info->attrs[TIPC_NLA_LINK],
1905-
tipc_nl_link_policy, NULL);
1905+
tipc_nl_link_policy, info->extack);
19061906
if (err)
19071907
return err;
19081908

@@ -2042,7 +2042,7 @@ int tipc_nl_node_set_monitor(struct sk_buff *skb, struct genl_info *info)
20422042

20432043
err = nla_parse_nested(attrs, TIPC_NLA_MON_MAX,
20442044
info->attrs[TIPC_NLA_MON],
2045-
tipc_nl_monitor_policy, NULL);
2045+
tipc_nl_monitor_policy, info->extack);
20462046
if (err)
20472047
return err;
20482048

net/wireless/nl80211.c

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,8 @@ static int nl80211_parse_key_old(struct genl_info *info, struct key_parse *k)
810810
int err = nla_parse_nested(kdt,
811811
NUM_NL80211_KEY_DEFAULT_TYPES - 1,
812812
info->attrs[NL80211_ATTR_KEY_DEFAULT_TYPES],
813-
nl80211_key_default_policy, NULL);
813+
nl80211_key_default_policy,
814+
info->extack);
814815
if (err)
815816
return err;
816817

@@ -2308,7 +2309,8 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info)
23082309
rem_txq_params) {
23092310
result = nla_parse_nested(tb, NL80211_TXQ_ATTR_MAX,
23102311
nl_txq_params,
2311-
txq_params_policy, NULL);
2312+
txq_params_policy,
2313+
info->extack);
23122314
if (result)
23132315
return result;
23142316
result = parse_txq_params(tb, &txq_params);
@@ -3561,7 +3563,7 @@ static int nl80211_parse_tx_bitrate_mask(struct genl_info *info,
35613563
if (sband == NULL)
35623564
return -EINVAL;
35633565
err = nla_parse_nested(tb, NL80211_TXRATE_MAX, tx_rates,
3564-
nl80211_txattr_policy, NULL);
3566+
nl80211_txattr_policy, info->extack);
35653567
if (err)
35663568
return err;
35673569
if (tb[NL80211_TXRATE_LEGACY]) {
@@ -4101,7 +4103,7 @@ static int parse_station_flags(struct genl_info *info,
41014103
return 0;
41024104

41034105
if (nla_parse_nested(flags, NL80211_STA_FLAG_MAX, nla,
4104-
sta_flags_policy, NULL))
4106+
sta_flags_policy, info->extack))
41054107
return -EINVAL;
41064108

41074109
/*
@@ -4728,7 +4730,7 @@ static int nl80211_parse_sta_wme(struct genl_info *info,
47284730

47294731
nla = info->attrs[NL80211_ATTR_STA_WME];
47304732
err = nla_parse_nested(tb, NL80211_STA_WME_MAX, nla,
4731-
nl80211_sta_wme_policy, NULL);
4733+
nl80211_sta_wme_policy, info->extack);
47324734
if (err)
47334735
return err;
47344736

@@ -5853,7 +5855,7 @@ do { \
58535855
return -EINVAL;
58545856
if (nla_parse_nested(tb, NL80211_MESHCONF_ATTR_MAX,
58555857
info->attrs[NL80211_ATTR_MESH_CONFIG],
5856-
nl80211_meshconf_params_policy, NULL))
5858+
nl80211_meshconf_params_policy, info->extack))
58575859
return -EINVAL;
58585860

58595861
/* This makes sure that there aren't more than 32 mesh config
@@ -6002,7 +6004,7 @@ static int nl80211_parse_mesh_setup(struct genl_info *info,
60026004
return -EINVAL;
60036005
if (nla_parse_nested(tb, NL80211_MESH_SETUP_ATTR_MAX,
60046006
info->attrs[NL80211_ATTR_MESH_SETUP],
6005-
nl80211_mesh_setup_params_policy, NULL))
6007+
nl80211_mesh_setup_params_policy, info->extack))
60066008
return -EINVAL;
60076009

60086010
if (tb[NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC])
@@ -6393,7 +6395,8 @@ static int nl80211_set_reg(struct sk_buff *skb, struct genl_info *info)
63936395
nla_for_each_nested(nl_reg_rule, info->attrs[NL80211_ATTR_REG_RULES],
63946396
rem_reg_rules) {
63956397
r = nla_parse_nested(tb, NL80211_REG_RULE_ATTR_MAX,
6396-
nl_reg_rule, reg_rule_policy, NULL);
6398+
nl_reg_rule, reg_rule_policy,
6399+
info->extack);
63976400
if (r)
63986401
goto bad_reg;
63996402
r = parse_reg_rule(tb, &rd->reg_rules[rule_idx]);
@@ -7435,7 +7438,7 @@ static int nl80211_channel_switch(struct sk_buff *skb, struct genl_info *info)
74357438

74367439
err = nla_parse_nested(csa_attrs, NL80211_ATTR_MAX,
74377440
info->attrs[NL80211_ATTR_CSA_IES],
7438-
nl80211_policy, NULL);
7441+
nl80211_policy, info->extack);
74397442
if (err)
74407443
return err;
74417444

@@ -9533,7 +9536,7 @@ static int nl80211_set_cqm(struct sk_buff *skb, struct genl_info *info)
95339536
return -EINVAL;
95349537

95359538
err = nla_parse_nested(attrs, NL80211_ATTR_CQM_MAX, cqm,
9536-
nl80211_attr_cqm_policy, NULL);
9539+
nl80211_attr_cqm_policy, info->extack);
95379540
if (err)
95389541
return err;
95399542

@@ -10126,7 +10129,7 @@ static int nl80211_set_wowlan(struct sk_buff *skb, struct genl_info *info)
1012610129

1012710130
err = nla_parse_nested(tb, MAX_NL80211_WOWLAN_TRIG,
1012810131
info->attrs[NL80211_ATTR_WOWLAN_TRIGGERS],
10129-
nl80211_wowlan_policy, NULL);
10132+
nl80211_wowlan_policy, info->extack);
1013010133
if (err)
1013110134
return err;
1013210135

@@ -10209,7 +10212,7 @@ static int nl80211_set_wowlan(struct sk_buff *skb, struct genl_info *info)
1020910212
u8 *mask_pat;
1021010213

1021110214
nla_parse_nested(pat_tb, MAX_NL80211_PKTPAT, pat,
10212-
NULL, NULL);
10215+
NULL, info->extack);
1021310216
err = -EINVAL;
1021410217
if (!pat_tb[NL80211_PKTPAT_MASK] ||
1021510218
!pat_tb[NL80211_PKTPAT_PATTERN])
@@ -10579,7 +10582,7 @@ static int nl80211_set_rekey_data(struct sk_buff *skb, struct genl_info *info)
1057910582

1058010583
err = nla_parse_nested(tb, MAX_NL80211_REKEY_DATA,
1058110584
info->attrs[NL80211_ATTR_REKEY_DATA],
10582-
nl80211_rekey_policy, NULL);
10585+
nl80211_rekey_policy, info->extack);
1058310586
if (err)
1058410587
return err;
1058510588

@@ -10896,7 +10899,7 @@ static int nl80211_nan_add_func(struct sk_buff *skb,
1089610899

1089710900
err = nla_parse_nested(tb, NL80211_NAN_FUNC_ATTR_MAX,
1089810901
info->attrs[NL80211_ATTR_NAN_FUNC],
10899-
nl80211_nan_func_policy, NULL);
10902+
nl80211_nan_func_policy, info->extack);
1090010903
if (err)
1090110904
return err;
1090210905

@@ -10993,7 +10996,7 @@ static int nl80211_nan_add_func(struct sk_buff *skb,
1099310996

1099410997
err = nla_parse_nested(srf_tb, NL80211_NAN_SRF_ATTR_MAX,
1099510998
tb[NL80211_NAN_FUNC_SRF],
10996-
nl80211_nan_srf_policy, NULL);
10999+
nl80211_nan_srf_policy, info->extack);
1099711000
if (err)
1099811001
goto out;
1099911002

net/xfrm/xfrm_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2489,7 +2489,7 @@ static int xfrm_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh,
24892489

24902490
err = nlmsg_parse(nlh, xfrm_msg_min[type], attrs,
24912491
link->nla_max ? : XFRMA_MAX,
2492-
link->nla_pol ? : xfrma_policy, NULL);
2492+
link->nla_pol ? : xfrma_policy, extack);
24932493
if (err < 0)
24942494
return err;
24952495

0 commit comments

Comments
 (0)