Skip to content

Commit dac9c97

Browse files
dsaherndavem330
authored andcommitted
net: Add extack to nlmsg_parse
Make sure extack is passed to nlmsg_parse where easy to do so. Most of these are dump handlers and leveraging the extack in the netlink_callback. Signed-off-by: David Ahern <[email protected]> Acked-by: Christian Brauner <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 3d0d433 commit dac9c97

File tree

12 files changed

+21
-17
lines changed

12 files changed

+21
-17
lines changed

net/core/devlink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3504,7 +3504,7 @@ static int devlink_nl_cmd_region_read_dumpit(struct sk_buff *skb,
35043504
start_offset = *((u64 *)&cb->args[0]);
35053505

35063506
err = nlmsg_parse(cb->nlh, GENL_HDRLEN + devlink_nl_family.hdrsize,
3507-
attrs, DEVLINK_ATTR_MAX, ops->policy, NULL);
3507+
attrs, DEVLINK_ATTR_MAX, ops->policy, cb->extack);
35083508
if (err)
35093509
goto out;
35103510

net/core/neighbour.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2445,7 +2445,8 @@ static int neigh_dump_info(struct sk_buff *skb, struct netlink_callback *cb)
24452445
((struct ndmsg *)nlmsg_data(nlh))->ndm_flags == NTF_PROXY)
24462446
proxy = 1;
24472447

2448-
err = nlmsg_parse(nlh, sizeof(struct ndmsg), tb, NDA_MAX, NULL, NULL);
2448+
err = nlmsg_parse(nlh, sizeof(struct ndmsg), tb, NDA_MAX, NULL,
2449+
cb->extack);
24492450
if (!err) {
24502451
if (tb[NDA_IFINDEX]) {
24512452
if (nla_len(tb[NDA_IFINDEX]) != sizeof(u32))

net/core/rtnetlink.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1909,7 +1909,7 @@ static int rtnl_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb)
19091909
sizeof(struct rtgenmsg) : sizeof(struct ifinfomsg);
19101910

19111911
if (nlmsg_parse(cb->nlh, hdrlen, tb, IFLA_MAX,
1912-
ifla_policy, NULL) >= 0) {
1912+
ifla_policy, cb->extack) >= 0) {
19131913
if (tb[IFLA_TARGET_NETNSID]) {
19141914
netnsid = nla_get_s32(tb[IFLA_TARGET_NETNSID]);
19151915
tgt_net = rtnl_get_net_ns_capable(skb->sk, netnsid);
@@ -3774,7 +3774,7 @@ static int rtnl_fdb_dump(struct sk_buff *skb, struct netlink_callback *cb)
37743774
(nlmsg_len(cb->nlh) != sizeof(struct ndmsg) +
37753775
nla_attr_size(sizeof(u32)))) {
37763776
err = nlmsg_parse(cb->nlh, sizeof(struct ifinfomsg), tb,
3777-
IFLA_MAX, ifla_policy, NULL);
3777+
IFLA_MAX, ifla_policy, cb->extack);
37783778
if (err < 0) {
37793779
return -EINVAL;
37803780
} else if (err == 0) {

net/ipv4/devinet.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -782,7 +782,8 @@ static void set_ifa_lifetime(struct in_ifaddr *ifa, __u32 valid_lft,
782782
}
783783

784784
static struct in_ifaddr *rtm_to_ifaddr(struct net *net, struct nlmsghdr *nlh,
785-
__u32 *pvalid_lft, __u32 *pprefered_lft)
785+
__u32 *pvalid_lft, __u32 *pprefered_lft,
786+
struct netlink_ext_ack *extack)
786787
{
787788
struct nlattr *tb[IFA_MAX+1];
788789
struct in_ifaddr *ifa;
@@ -792,7 +793,7 @@ static struct in_ifaddr *rtm_to_ifaddr(struct net *net, struct nlmsghdr *nlh,
792793
int err;
793794

794795
err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFA_MAX, ifa_ipv4_policy,
795-
NULL);
796+
extack);
796797
if (err < 0)
797798
goto errout;
798799

@@ -897,7 +898,7 @@ static int inet_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh,
897898

898899
ASSERT_RTNL();
899900

900-
ifa = rtm_to_ifaddr(net, nlh, &valid_lft, &prefered_lft);
901+
ifa = rtm_to_ifaddr(net, nlh, &valid_lft, &prefered_lft, extack);
901902
if (IS_ERR(ifa))
902903
return PTR_ERR(ifa);
903904

@@ -1684,7 +1685,7 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb)
16841685
s_ip_idx = ip_idx = cb->args[2];
16851686

16861687
if (nlmsg_parse(cb->nlh, sizeof(struct ifaddrmsg), tb, IFA_MAX,
1687-
ifa_ipv4_policy, NULL) >= 0) {
1688+
ifa_ipv4_policy, cb->extack) >= 0) {
16881689
if (tb[IFA_TARGET_NETNSID]) {
16891690
fillargs.netnsid = nla_get_s32(tb[IFA_TARGET_NETNSID]);
16901691

net/ipv6/addrconf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5021,7 +5021,7 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,
50215021
s_ip_idx = ip_idx = cb->args[2];
50225022

50235023
if (nlmsg_parse(cb->nlh, sizeof(struct ifaddrmsg), tb, IFA_MAX,
5024-
ifa_ipv6_policy, NULL) >= 0) {
5024+
ifa_ipv6_policy, cb->extack) >= 0) {
50255025
if (tb[IFA_TARGET_NETNSID]) {
50265026
netnsid = nla_get_s32(tb[IFA_TARGET_NETNSID]);
50275027

net/ipv6/route.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4117,7 +4117,7 @@ static int rtm_to_fib6_config(struct sk_buff *skb, struct nlmsghdr *nlh,
41174117
int err;
41184118

41194119
err = nlmsg_parse(nlh, sizeof(*rtm), tb, RTA_MAX, rtm_ipv6_policy,
4120-
NULL);
4120+
extack);
41214121
if (err < 0)
41224122
goto errout;
41234123

net/mpls/af_mpls.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1223,7 +1223,7 @@ static int mpls_netconf_get_devconf(struct sk_buff *in_skb,
12231223
int err;
12241224

12251225
err = nlmsg_parse(nlh, sizeof(*ncm), tb, NETCONFA_MAX,
1226-
devconf_mpls_policy, NULL);
1226+
devconf_mpls_policy, extack);
12271227
if (err < 0)
12281228
goto errout;
12291229

net/netfilter/ipvs/ip_vs_ctl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3234,7 +3234,7 @@ static int ip_vs_genl_dump_dests(struct sk_buff *skb,
32343234

32353235
/* Try to find the service for which to dump destinations */
32363236
if (nlmsg_parse(cb->nlh, GENL_HDRLEN, attrs, IPVS_CMD_ATTR_MAX,
3237-
ip_vs_cmd_policy, NULL))
3237+
ip_vs_cmd_policy, cb->extack))
32383238
goto out_err;
32393239

32403240

net/sched/act_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1452,7 +1452,7 @@ static int tc_dump_action(struct sk_buff *skb, struct netlink_callback *cb)
14521452
u32 act_count = 0;
14531453

14541454
ret = nlmsg_parse(cb->nlh, sizeof(struct tcamsg), tb, TCA_ROOT_MAX,
1455-
tcaa_policy, NULL);
1455+
tcaa_policy, cb->extack);
14561456
if (ret < 0)
14571457
return ret;
14581458

net/sched/cls_api.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,7 +1727,8 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
17271727
if (nlmsg_len(cb->nlh) < sizeof(*tcm))
17281728
return skb->len;
17291729

1730-
err = nlmsg_parse(cb->nlh, sizeof(*tcm), tca, TCA_MAX, NULL, NULL);
1730+
err = nlmsg_parse(cb->nlh, sizeof(*tcm), tca, TCA_MAX, NULL,
1731+
cb->extack);
17311732
if (err)
17321733
return err;
17331734

@@ -2054,7 +2055,8 @@ static int tc_dump_chain(struct sk_buff *skb, struct netlink_callback *cb)
20542055
if (nlmsg_len(cb->nlh) < sizeof(*tcm))
20552056
return skb->len;
20562057

2057-
err = nlmsg_parse(cb->nlh, sizeof(*tcm), tca, TCA_MAX, NULL, NULL);
2058+
err = nlmsg_parse(cb->nlh, sizeof(*tcm), tca, TCA_MAX, NULL,
2059+
cb->extack);
20582060
if (err)
20592061
return err;
20602062

net/sched/sch_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1671,7 +1671,7 @@ static int tc_dump_qdisc(struct sk_buff *skb, struct netlink_callback *cb)
16711671
ASSERT_RTNL();
16721672

16731673
err = nlmsg_parse(nlh, sizeof(struct tcmsg), tca, TCA_MAX,
1674-
rtm_tca_policy, NULL);
1674+
rtm_tca_policy, cb->extack);
16751675
if (err < 0)
16761676
return err;
16771677

net/xfrm/xfrm_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,7 @@ static int xfrm_dump_sa(struct sk_buff *skb, struct netlink_callback *cb)
10071007
int err;
10081008

10091009
err = nlmsg_parse(cb->nlh, 0, attrs, XFRMA_MAX, xfrma_policy,
1010-
NULL);
1010+
cb->extack);
10111011
if (err < 0)
10121012
return err;
10131013

0 commit comments

Comments
 (0)