aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/rtnetlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/rtnetlink.c')
-rw-r--r--net/core/rtnetlink.c48
1 files changed, 25 insertions, 23 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 5fa5bf3e9945..8ad44b299e72 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -634,7 +634,7 @@ static int rtnl_link_slave_info_fill(struct sk_buff *skb,
634 if (nla_put_string(skb, IFLA_INFO_SLAVE_KIND, ops->kind) < 0) 634 if (nla_put_string(skb, IFLA_INFO_SLAVE_KIND, ops->kind) < 0)
635 return -EMSGSIZE; 635 return -EMSGSIZE;
636 if (ops->fill_slave_info) { 636 if (ops->fill_slave_info) {
637 slave_data = nla_nest_start(skb, IFLA_INFO_SLAVE_DATA); 637 slave_data = nla_nest_start_noflag(skb, IFLA_INFO_SLAVE_DATA);
638 if (!slave_data) 638 if (!slave_data)
639 return -EMSGSIZE; 639 return -EMSGSIZE;
640 err = ops->fill_slave_info(skb, master_dev, dev); 640 err = ops->fill_slave_info(skb, master_dev, dev);
@@ -666,7 +666,7 @@ static int rtnl_link_info_fill(struct sk_buff *skb,
666 return err; 666 return err;
667 } 667 }
668 if (ops->fill_info) { 668 if (ops->fill_info) {
669 data = nla_nest_start(skb, IFLA_INFO_DATA); 669 data = nla_nest_start_noflag(skb, IFLA_INFO_DATA);
670 if (data == NULL) 670 if (data == NULL)
671 return -EMSGSIZE; 671 return -EMSGSIZE;
672 err = ops->fill_info(skb, dev); 672 err = ops->fill_info(skb, dev);
@@ -686,7 +686,7 @@ static int rtnl_link_fill(struct sk_buff *skb, const struct net_device *dev)
686 struct nlattr *linkinfo; 686 struct nlattr *linkinfo;
687 int err = -EMSGSIZE; 687 int err = -EMSGSIZE;
688 688
689 linkinfo = nla_nest_start(skb, IFLA_LINKINFO); 689 linkinfo = nla_nest_start_noflag(skb, IFLA_LINKINFO);
690 if (linkinfo == NULL) 690 if (linkinfo == NULL)
691 goto out; 691 goto out;
692 692
@@ -755,7 +755,7 @@ int rtnetlink_put_metrics(struct sk_buff *skb, u32 *metrics)
755 struct nlattr *mx; 755 struct nlattr *mx;
756 int i, valid = 0; 756 int i, valid = 0;
757 757
758 mx = nla_nest_start(skb, RTA_METRICS); 758 mx = nla_nest_start_noflag(skb, RTA_METRICS);
759 if (mx == NULL) 759 if (mx == NULL)
760 return -ENOBUFS; 760 return -ENOBUFS;
761 761
@@ -1036,12 +1036,12 @@ static int rtnl_vf_ports_fill(struct sk_buff *skb, struct net_device *dev)
1036 int vf; 1036 int vf;
1037 int err; 1037 int err;
1038 1038
1039 vf_ports = nla_nest_start(skb, IFLA_VF_PORTS); 1039 vf_ports = nla_nest_start_noflag(skb, IFLA_VF_PORTS);
1040 if (!vf_ports) 1040 if (!vf_ports)
1041 return -EMSGSIZE; 1041 return -EMSGSIZE;
1042 1042
1043 for (vf = 0; vf < dev_num_vf(dev->dev.parent); vf++) { 1043 for (vf = 0; vf < dev_num_vf(dev->dev.parent); vf++) {
1044 vf_port = nla_nest_start(skb, IFLA_VF_PORT); 1044 vf_port = nla_nest_start_noflag(skb, IFLA_VF_PORT);
1045 if (!vf_port) 1045 if (!vf_port)
1046 goto nla_put_failure; 1046 goto nla_put_failure;
1047 if (nla_put_u32(skb, IFLA_PORT_VF, vf)) 1047 if (nla_put_u32(skb, IFLA_PORT_VF, vf))
@@ -1070,7 +1070,7 @@ static int rtnl_port_self_fill(struct sk_buff *skb, struct net_device *dev)
1070 struct nlattr *port_self; 1070 struct nlattr *port_self;
1071 int err; 1071 int err;
1072 1072
1073 port_self = nla_nest_start(skb, IFLA_PORT_SELF); 1073 port_self = nla_nest_start_noflag(skb, IFLA_PORT_SELF);
1074 if (!port_self) 1074 if (!port_self)
1075 return -EMSGSIZE; 1075 return -EMSGSIZE;
1076 1076
@@ -1247,7 +1247,7 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb,
1247 vf_linkstate.link_state = ivi.linkstate; 1247 vf_linkstate.link_state = ivi.linkstate;
1248 vf_rss_query_en.setting = ivi.rss_query_en; 1248 vf_rss_query_en.setting = ivi.rss_query_en;
1249 vf_trust.setting = ivi.trusted; 1249 vf_trust.setting = ivi.trusted;
1250 vf = nla_nest_start(skb, IFLA_VF_INFO); 1250 vf = nla_nest_start_noflag(skb, IFLA_VF_INFO);
1251 if (!vf) 1251 if (!vf)
1252 goto nla_put_vfinfo_failure; 1252 goto nla_put_vfinfo_failure;
1253 if (nla_put(skb, IFLA_VF_MAC, sizeof(vf_mac), &vf_mac) || 1253 if (nla_put(skb, IFLA_VF_MAC, sizeof(vf_mac), &vf_mac) ||
@@ -1266,7 +1266,7 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb,
1266 nla_put(skb, IFLA_VF_TRUST, 1266 nla_put(skb, IFLA_VF_TRUST,
1267 sizeof(vf_trust), &vf_trust)) 1267 sizeof(vf_trust), &vf_trust))
1268 goto nla_put_vf_failure; 1268 goto nla_put_vf_failure;
1269 vfvlanlist = nla_nest_start(skb, IFLA_VF_VLAN_LIST); 1269 vfvlanlist = nla_nest_start_noflag(skb, IFLA_VF_VLAN_LIST);
1270 if (!vfvlanlist) 1270 if (!vfvlanlist)
1271 goto nla_put_vf_failure; 1271 goto nla_put_vf_failure;
1272 if (nla_put(skb, IFLA_VF_VLAN_INFO, sizeof(vf_vlan_info), 1272 if (nla_put(skb, IFLA_VF_VLAN_INFO, sizeof(vf_vlan_info),
@@ -1279,7 +1279,7 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb,
1279 if (dev->netdev_ops->ndo_get_vf_stats) 1279 if (dev->netdev_ops->ndo_get_vf_stats)
1280 dev->netdev_ops->ndo_get_vf_stats(dev, vfs_num, 1280 dev->netdev_ops->ndo_get_vf_stats(dev, vfs_num,
1281 &vf_stats); 1281 &vf_stats);
1282 vfstats = nla_nest_start(skb, IFLA_VF_STATS); 1282 vfstats = nla_nest_start_noflag(skb, IFLA_VF_STATS);
1283 if (!vfstats) 1283 if (!vfstats)
1284 goto nla_put_vf_failure; 1284 goto nla_put_vf_failure;
1285 if (nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_PACKETS, 1285 if (nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_PACKETS,
@@ -1329,7 +1329,7 @@ static noinline_for_stack int rtnl_fill_vf(struct sk_buff *skb,
1329 if (!dev->netdev_ops->ndo_get_vf_config) 1329 if (!dev->netdev_ops->ndo_get_vf_config)
1330 return 0; 1330 return 0;
1331 1331
1332 vfinfo = nla_nest_start(skb, IFLA_VFINFO_LIST); 1332 vfinfo = nla_nest_start_noflag(skb, IFLA_VFINFO_LIST);
1333 if (!vfinfo) 1333 if (!vfinfo)
1334 return -EMSGSIZE; 1334 return -EMSGSIZE;
1335 1335
@@ -1414,7 +1414,7 @@ static int rtnl_xdp_fill(struct sk_buff *skb, struct net_device *dev)
1414 int err; 1414 int err;
1415 u8 mode; 1415 u8 mode;
1416 1416
1417 xdp = nla_nest_start(skb, IFLA_XDP); 1417 xdp = nla_nest_start_noflag(skb, IFLA_XDP);
1418 if (!xdp) 1418 if (!xdp)
1419 return -EMSGSIZE; 1419 return -EMSGSIZE;
1420 1420
@@ -1541,7 +1541,7 @@ static int rtnl_fill_link_af(struct sk_buff *skb,
1541 const struct rtnl_af_ops *af_ops; 1541 const struct rtnl_af_ops *af_ops;
1542 struct nlattr *af_spec; 1542 struct nlattr *af_spec;
1543 1543
1544 af_spec = nla_nest_start(skb, IFLA_AF_SPEC); 1544 af_spec = nla_nest_start_noflag(skb, IFLA_AF_SPEC);
1545 if (!af_spec) 1545 if (!af_spec)
1546 return -EMSGSIZE; 1546 return -EMSGSIZE;
1547 1547
@@ -1552,7 +1552,7 @@ static int rtnl_fill_link_af(struct sk_buff *skb,
1552 if (!af_ops->fill_link_af) 1552 if (!af_ops->fill_link_af)
1553 continue; 1553 continue;
1554 1554
1555 af = nla_nest_start(skb, af_ops->family); 1555 af = nla_nest_start_noflag(skb, af_ops->family);
1556 if (!af) 1556 if (!af)
1557 return -EMSGSIZE; 1557 return -EMSGSIZE;
1558 1558
@@ -4273,7 +4273,7 @@ int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
4273 nla_put_u32(skb, IFLA_LINK, dev_get_iflink(dev)))) 4273 nla_put_u32(skb, IFLA_LINK, dev_get_iflink(dev))))
4274 goto nla_put_failure; 4274 goto nla_put_failure;
4275 4275
4276 br_afspec = nla_nest_start(skb, IFLA_AF_SPEC); 4276 br_afspec = nla_nest_start_noflag(skb, IFLA_AF_SPEC);
4277 if (!br_afspec) 4277 if (!br_afspec)
4278 goto nla_put_failure; 4278 goto nla_put_failure;
4279 4279
@@ -4297,7 +4297,7 @@ int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
4297 } 4297 }
4298 nla_nest_end(skb, br_afspec); 4298 nla_nest_end(skb, br_afspec);
4299 4299
4300 protinfo = nla_nest_start(skb, IFLA_PROTINFO | NLA_F_NESTED); 4300 protinfo = nla_nest_start(skb, IFLA_PROTINFO);
4301 if (!protinfo) 4301 if (!protinfo)
4302 goto nla_put_failure; 4302 goto nla_put_failure;
4303 4303
@@ -4776,8 +4776,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
4776 4776
4777 if (ops && ops->fill_linkxstats) { 4777 if (ops && ops->fill_linkxstats) {
4778 *idxattr = IFLA_STATS_LINK_XSTATS; 4778 *idxattr = IFLA_STATS_LINK_XSTATS;
4779 attr = nla_nest_start(skb, 4779 attr = nla_nest_start_noflag(skb,
4780 IFLA_STATS_LINK_XSTATS); 4780 IFLA_STATS_LINK_XSTATS);
4781 if (!attr) 4781 if (!attr)
4782 goto nla_put_failure; 4782 goto nla_put_failure;
4783 4783
@@ -4799,8 +4799,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
4799 ops = master->rtnl_link_ops; 4799 ops = master->rtnl_link_ops;
4800 if (ops && ops->fill_linkxstats) { 4800 if (ops && ops->fill_linkxstats) {
4801 *idxattr = IFLA_STATS_LINK_XSTATS_SLAVE; 4801 *idxattr = IFLA_STATS_LINK_XSTATS_SLAVE;
4802 attr = nla_nest_start(skb, 4802 attr = nla_nest_start_noflag(skb,
4803 IFLA_STATS_LINK_XSTATS_SLAVE); 4803 IFLA_STATS_LINK_XSTATS_SLAVE);
4804 if (!attr) 4804 if (!attr)
4805 goto nla_put_failure; 4805 goto nla_put_failure;
4806 4806
@@ -4815,7 +4815,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
4815 if (stats_attr_valid(filter_mask, IFLA_STATS_LINK_OFFLOAD_XSTATS, 4815 if (stats_attr_valid(filter_mask, IFLA_STATS_LINK_OFFLOAD_XSTATS,
4816 *idxattr)) { 4816 *idxattr)) {
4817 *idxattr = IFLA_STATS_LINK_OFFLOAD_XSTATS; 4817 *idxattr = IFLA_STATS_LINK_OFFLOAD_XSTATS;
4818 attr = nla_nest_start(skb, IFLA_STATS_LINK_OFFLOAD_XSTATS); 4818 attr = nla_nest_start_noflag(skb,
4819 IFLA_STATS_LINK_OFFLOAD_XSTATS);
4819 if (!attr) 4820 if (!attr)
4820 goto nla_put_failure; 4821 goto nla_put_failure;
4821 4822
@@ -4834,7 +4835,7 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
4834 struct rtnl_af_ops *af_ops; 4835 struct rtnl_af_ops *af_ops;
4835 4836
4836 *idxattr = IFLA_STATS_AF_SPEC; 4837 *idxattr = IFLA_STATS_AF_SPEC;
4837 attr = nla_nest_start(skb, IFLA_STATS_AF_SPEC); 4838 attr = nla_nest_start_noflag(skb, IFLA_STATS_AF_SPEC);
4838 if (!attr) 4839 if (!attr)
4839 goto nla_put_failure; 4840 goto nla_put_failure;
4840 4841
@@ -4844,7 +4845,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
4844 struct nlattr *af; 4845 struct nlattr *af;
4845 int err; 4846 int err;
4846 4847
4847 af = nla_nest_start(skb, af_ops->family); 4848 af = nla_nest_start_noflag(skb,
4849 af_ops->family);
4848 if (!af) { 4850 if (!af) {
4849 rcu_read_unlock(); 4851 rcu_read_unlock();
4850 goto nla_put_failure; 4852 goto nla_put_failure;