netlink: make nla_nest_start() add NLA_F_NESTED flag
authorMichal Kubecek <mkubecek@suse.cz>
Fri, 26 Apr 2019 09:13:06 +0000 (11:13 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 27 Apr 2019 21:03:44 +0000 (17:03 -0400)
Even if the NLA_F_NESTED flag was introduced more than 11 years ago, most
netlink based interfaces (including recently added ones) are still not
setting it in kernel generated messages. Without the flag, message parsers
not aware of attribute semantics (e.g. wireshark dissector or libmnl's
mnl_nlmsg_fprintf()) cannot recognize nested attributes and won't display
the structure of their contents.

Unfortunately we cannot just add the flag everywhere as there may be
userspace applications which check nlattr::nla_type directly rather than
through a helper masking out the flags. Therefore the patch renames
nla_nest_start() to nla_nest_start_noflag() and introduces nla_nest_start()
as a wrapper adding NLA_F_NESTED. The calls which add NLA_F_NESTED manually
are rewritten to use nla_nest_start().

Except for changes in include/net/netlink.h, the patch was generated using
this semantic patch:

@@ expression E1, E2; @@
-nla_nest_start(E1, E2)
+nla_nest_start_noflag(E1, E2)

@@ expression E1, E2; @@
-nla_nest_start_noflag(E1, E2 | NLA_F_NESTED)
+nla_nest_start(E1, E2)

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
111 files changed:
drivers/block/drbd/drbd_nl.c
drivers/block/nbd.c
drivers/infiniband/core/nldev.c
drivers/infiniband/hw/cxgb4/restrack.c
drivers/net/bonding/bond_netlink.c
drivers/net/ieee802154/mac802154_hwsim.c
drivers/net/macsec.c
drivers/net/macvlan.c
drivers/net/team/team.c
drivers/net/wireless/ath/wil6210/cfg80211.c
include/linux/netfilter/ipset/ip_set.h
include/net/netlink.h
kernel/taskstats.c
net/8021q/vlan_netlink.c
net/bridge/br_mdb.c
net/bridge/br_netlink.c
net/bridge/br_netlink_tunnel.c
net/core/devlink.c
net/core/lwt_bpf.c
net/core/lwtunnel.c
net/core/neighbour.c
net/core/rtnetlink.c
net/dcb/dcbnl.c
net/decnet/dn_table.c
net/ieee802154/nl802154.c
net/ipv4/fib_semantics.c
net/ipv4/ipmr.c
net/ipv4/ipmr_base.c
net/ipv4/tcp_metrics.c
net/ipv6/addrconf.c
net/ipv6/route.c
net/ipv6/seg6_local.c
net/l2tp/l2tp_netlink.c
net/mpls/af_mpls.c
net/ncsi/ncsi-netlink.c
net/netfilter/ipvs/ip_vs_ctl.c
net/netfilter/nf_conntrack_netlink.c
net/netfilter/nf_conntrack_proto_dccp.c
net/netfilter/nf_conntrack_proto_sctp.c
net/netfilter/nf_conntrack_proto_tcp.c
net/netfilter/nf_tables_api.c
net/netfilter/nfnetlink_cthelper.c
net/netfilter/nfnetlink_cttimeout.c
net/netfilter/nfnetlink_queue.c
net/netfilter/nft_ct.c
net/netfilter/nft_tunnel.c
net/netlabel/netlabel_cipso_v4.c
net/netlabel/netlabel_mgmt.c
net/netlink/genetlink.c
net/nfc/netlink.c
net/openvswitch/conntrack.c
net/openvswitch/datapath.c
net/openvswitch/flow_netlink.c
net/openvswitch/meter.c
net/openvswitch/vport-vxlan.c
net/openvswitch/vport.c
net/packet/diag.c
net/sched/act_api.c
net/sched/act_ife.c
net/sched/act_pedit.c
net/sched/act_tunnel_key.c
net/sched/cls_api.c
net/sched/cls_basic.c
net/sched/cls_bpf.c
net/sched/cls_cgroup.c
net/sched/cls_flow.c
net/sched/cls_flower.c
net/sched/cls_fw.c
net/sched/cls_matchall.c
net/sched/cls_route.c
net/sched/cls_rsvp.h
net/sched/cls_tcindex.c
net/sched/cls_u32.c
net/sched/ematch.c
net/sched/sch_api.c
net/sched/sch_atm.c
net/sched/sch_cake.c
net/sched/sch_cbq.c
net/sched/sch_cbs.c
net/sched/sch_choke.c
net/sched/sch_codel.c
net/sched/sch_drr.c
net/sched/sch_dsmark.c
net/sched/sch_etf.c
net/sched/sch_fq.c
net/sched/sch_fq_codel.c
net/sched/sch_gred.c
net/sched/sch_hfsc.c
net/sched/sch_hhf.c
net/sched/sch_htb.c
net/sched/sch_ingress.c
net/sched/sch_mqprio.c
net/sched/sch_netem.c
net/sched/sch_pie.c
net/sched/sch_qfq.c
net/sched/sch_red.c
net/sched/sch_sfb.c
net/sched/sch_taprio.c
net/sched/sch_tbf.c
net/tipc/bearer.c
net/tipc/group.c
net/tipc/link.c
net/tipc/monitor.c
net/tipc/name_table.c
net/tipc/net.c
net/tipc/netlink_compat.c
net/tipc/node.c
net/tipc/socket.c
net/tipc/udp_media.c
net/wireless/nl80211.c
net/wireless/pmsr.c

index f2471172a96193fbcd5dc68adc4415286647290e..1cb5a0b85fd9603d0575a59958e8d23b4924622f 100644 (file)
@@ -114,7 +114,7 @@ static int drbd_msg_put_info(struct sk_buff *skb, const char *info)
        if (!info || !info[0])
                return 0;
 
-       nla = nla_nest_start(skb, DRBD_NLA_CFG_REPLY);
+       nla = nla_nest_start_noflag(skb, DRBD_NLA_CFG_REPLY);
        if (!nla)
                return err;
 
@@ -135,7 +135,7 @@ static int drbd_msg_sprintf_info(struct sk_buff *skb, const char *fmt, ...)
        int err = -EMSGSIZE;
        int len;
 
-       nla = nla_nest_start(skb, DRBD_NLA_CFG_REPLY);
+       nla = nla_nest_start_noflag(skb, DRBD_NLA_CFG_REPLY);
        if (!nla)
                return err;
 
@@ -3269,7 +3269,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb,
                                    struct drbd_device *device)
 {
        struct nlattr *nla;
-       nla = nla_nest_start(skb, DRBD_NLA_CFG_CONTEXT);
+       nla = nla_nest_start_noflag(skb, DRBD_NLA_CFG_CONTEXT);
        if (!nla)
                goto nla_put_failure;
        if (device &&
@@ -3837,7 +3837,7 @@ static int nla_put_status_info(struct sk_buff *skb, struct drbd_device *device,
        if (err)
                goto nla_put_failure;
 
-       nla = nla_nest_start(skb, DRBD_NLA_STATE_INFO);
+       nla = nla_nest_start_noflag(skb, DRBD_NLA_STATE_INFO);
        if (!nla)
                goto nla_put_failure;
        if (nla_put_u32(skb, T_sib_reason, sib ? sib->sib_reason : SIB_GET_STATUS_REPLY) ||
index 92b8aafb8bb4c693f80da233289a01387552222a..cd27f236431db28be03d086c8ea8eb44cf70f1de 100644 (file)
@@ -2047,7 +2047,7 @@ static int populate_nbd_status(struct nbd_device *nbd, struct sk_buff *reply)
         */
        if (refcount_read(&nbd->config_refs))
                connected = 1;
-       dev_opt = nla_nest_start(reply, NBD_DEVICE_ITEM);
+       dev_opt = nla_nest_start_noflag(reply, NBD_DEVICE_ITEM);
        if (!dev_opt)
                return -EMSGSIZE;
        ret = nla_put_u32(reply, NBD_DEVICE_INDEX, nbd->index);
@@ -2095,7 +2095,7 @@ static int nbd_genl_status(struct sk_buff *skb, struct genl_info *info)
                goto out;
        }
 
-       dev_list = nla_nest_start(reply, NBD_ATTR_DEVICE_LIST);
+       dev_list = nla_nest_start_noflag(reply, NBD_ATTR_DEVICE_LIST);
        if (index == -1) {
                ret = idr_for_each(&nbd_index_idr, &status_cb, reply);
                if (ret) {
index 11ed58d3fce59165ec414dfb478e67b658a6e512..ad189a29cc679ea876c8e93ba82d62a0c13f0b32 100644 (file)
@@ -292,7 +292,8 @@ static int fill_res_info_entry(struct sk_buff *msg,
 {
        struct nlattr *entry_attr;
 
-       entry_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY);
+       entry_attr = nla_nest_start_noflag(msg,
+                                          RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY);
        if (!entry_attr)
                return -EMSGSIZE;
 
@@ -327,7 +328,7 @@ static int fill_res_info(struct sk_buff *msg, struct ib_device *device)
        if (fill_nldev_handle(msg, device))
                return -EMSGSIZE;
 
-       table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_RES_SUMMARY);
+       table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_RES_SUMMARY);
        if (!table_attr)
                return -EMSGSIZE;
 
@@ -1108,7 +1109,7 @@ static int res_get_common_dumpit(struct sk_buff *skb,
                goto err;
        }
 
-       table_attr = nla_nest_start(skb, fe->nldev_attr);
+       table_attr = nla_nest_start_noflag(skb, fe->nldev_attr);
        if (!table_attr) {
                ret = -EMSGSIZE;
                goto err;
@@ -1134,7 +1135,7 @@ static int res_get_common_dumpit(struct sk_buff *skb,
 
                filled = true;
 
-               entry_attr = nla_nest_start(skb, fe->entry);
+               entry_attr = nla_nest_start_noflag(skb, fe->entry);
                if (!entry_attr) {
                        ret = -EMSGSIZE;
                        rdma_restrack_put(res);
index 9a7520ee41e0f125a53e340e739df74a6cd1757b..f82d46ed969d9212ba5f3a65b42ea3e856af74cd 100644 (file)
@@ -149,7 +149,7 @@ static int fill_res_qp_entry(struct sk_buff *msg,
        if (qhp->ucontext)
                return 0;
 
-       table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
+       table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
        if (!table_attr)
                goto err;
 
@@ -216,7 +216,7 @@ static int fill_res_ep_entry(struct sk_buff *msg,
        if (!uep)
                return 0;
 
-       table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
+       table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
        if (!table_attr)
                goto err_free_uep;
 
@@ -387,7 +387,7 @@ static int fill_res_cq_entry(struct sk_buff *msg,
        if (ibcq->uobject)
                return 0;
 
-       table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
+       table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
        if (!table_attr)
                goto err;
 
@@ -447,7 +447,7 @@ static int fill_res_mr_entry(struct sk_buff *msg,
        if (!stag)
                return 0;
 
-       table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
+       table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
        if (!table_attr)
                goto err;
 
index b286f591242ebe5d9a3291408db08d412d2823f2..022044b59d6a830dc29b017e9b23dc2faa593776 100644 (file)
@@ -546,7 +546,7 @@ static int bond_fill_info(struct sk_buff *skb,
        if (nla_put_u32(skb, IFLA_BOND_ARP_INTERVAL, bond->params.arp_interval))
                goto nla_put_failure;
 
-       targets = nla_nest_start(skb, IFLA_BOND_ARP_IP_TARGET);
+       targets = nla_nest_start_noflag(skb, IFLA_BOND_ARP_IP_TARGET);
        if (!targets)
                goto nla_put_failure;
 
@@ -644,7 +644,7 @@ static int bond_fill_info(struct sk_buff *skb,
                if (!bond_3ad_get_active_agg_info(bond, &info)) {
                        struct nlattr *nest;
 
-                       nest = nla_nest_start(skb, IFLA_BOND_AD_INFO);
+                       nest = nla_nest_start_noflag(skb, IFLA_BOND_AD_INFO);
                        if (!nest)
                                goto nla_put_failure;
 
@@ -711,7 +711,7 @@ static int bond_fill_linkxstats(struct sk_buff *skb,
                return -EINVAL;
        }
 
-       nest = nla_nest_start(skb, LINK_XSTATS_TYPE_BOND);
+       nest = nla_nest_start_noflag(skb, LINK_XSTATS_TYPE_BOND);
        if (!nest)
                return -EMSGSIZE;
        if (BOND_MODE(bond) == BOND_MODE_8023AD) {
@@ -722,7 +722,7 @@ static int bond_fill_linkxstats(struct sk_buff *skb,
                else
                        stats = &BOND_AD_INFO(bond).stats;
 
-               nest2 = nla_nest_start(skb, BOND_XSTATS_3AD);
+               nest2 = nla_nest_start_noflag(skb, BOND_XSTATS_3AD);
                if (!nest2) {
                        nla_nest_end(skb, nest);
                        return -EMSGSIZE;
index 707285953750dafb1392d6b588ceb7aab56f5b56..80ca300aba04aeb3d17a2ec02b0442184a4db957 100644 (file)
@@ -227,14 +227,16 @@ static int append_radio_msg(struct sk_buff *skb, struct hwsim_phy *phy)
                return 0;
        }
 
-       nl_edges = nla_nest_start(skb, MAC802154_HWSIM_ATTR_RADIO_EDGES);
+       nl_edges = nla_nest_start_noflag(skb,
+                                        MAC802154_HWSIM_ATTR_RADIO_EDGES);
        if (!nl_edges) {
                rcu_read_unlock();
                return -ENOBUFS;
        }
 
        list_for_each_entry_rcu(e, &phy->edges, list) {
-               nl_edge = nla_nest_start(skb, MAC802154_HWSIM_ATTR_RADIO_EDGE);
+               nl_edge = nla_nest_start_noflag(skb,
+                                               MAC802154_HWSIM_ATTR_RADIO_EDGE);
                if (!nl_edge) {
                        rcu_read_unlock();
                        nla_nest_cancel(skb, nl_edges);
index 263bfafdb0049ffccbae486b48b14469ceaed3a8..8dedb9a9781e8f990659f5494d1995e884baf44f 100644 (file)
@@ -2365,7 +2365,8 @@ copy_secy_stats(struct sk_buff *skb, struct pcpu_secy_stats __percpu *pstats)
 static int nla_put_secy(struct macsec_secy *secy, struct sk_buff *skb)
 {
        struct macsec_tx_sc *tx_sc = &secy->tx_sc;
-       struct nlattr *secy_nest = nla_nest_start(skb, MACSEC_ATTR_SECY);
+       struct nlattr *secy_nest = nla_nest_start_noflag(skb,
+                                                        MACSEC_ATTR_SECY);
        u64 csid;
 
        if (!secy_nest)
@@ -2435,7 +2436,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
        if (nla_put_secy(secy, skb))
                goto nla_put_failure;
 
-       attr = nla_nest_start(skb, MACSEC_ATTR_TXSC_STATS);
+       attr = nla_nest_start_noflag(skb, MACSEC_ATTR_TXSC_STATS);
        if (!attr)
                goto nla_put_failure;
        if (copy_tx_sc_stats(skb, tx_sc->stats)) {
@@ -2444,7 +2445,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
        }
        nla_nest_end(skb, attr);
 
-       attr = nla_nest_start(skb, MACSEC_ATTR_SECY_STATS);
+       attr = nla_nest_start_noflag(skb, MACSEC_ATTR_SECY_STATS);
        if (!attr)
                goto nla_put_failure;
        if (copy_secy_stats(skb, macsec_priv(dev)->stats)) {
@@ -2453,7 +2454,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
        }
        nla_nest_end(skb, attr);
 
-       txsa_list = nla_nest_start(skb, MACSEC_ATTR_TXSA_LIST);
+       txsa_list = nla_nest_start_noflag(skb, MACSEC_ATTR_TXSA_LIST);
        if (!txsa_list)
                goto nla_put_failure;
        for (i = 0, j = 1; i < MACSEC_NUM_AN; i++) {
@@ -2463,7 +2464,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
                if (!tx_sa)
                        continue;
 
-               txsa_nest = nla_nest_start(skb, j++);
+               txsa_nest = nla_nest_start_noflag(skb, j++);
                if (!txsa_nest) {
                        nla_nest_cancel(skb, txsa_list);
                        goto nla_put_failure;
@@ -2478,7 +2479,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
                        goto nla_put_failure;
                }
 
-               attr = nla_nest_start(skb, MACSEC_SA_ATTR_STATS);
+               attr = nla_nest_start_noflag(skb, MACSEC_SA_ATTR_STATS);
                if (!attr) {
                        nla_nest_cancel(skb, txsa_nest);
                        nla_nest_cancel(skb, txsa_list);
@@ -2496,7 +2497,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
        }
        nla_nest_end(skb, txsa_list);
 
-       rxsc_list = nla_nest_start(skb, MACSEC_ATTR_RXSC_LIST);
+       rxsc_list = nla_nest_start_noflag(skb, MACSEC_ATTR_RXSC_LIST);
        if (!rxsc_list)
                goto nla_put_failure;
 
@@ -2504,7 +2505,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
        for_each_rxsc_rtnl(secy, rx_sc) {
                int k;
                struct nlattr *rxsa_list;
-               struct nlattr *rxsc_nest = nla_nest_start(skb, j++);
+               struct nlattr *rxsc_nest = nla_nest_start_noflag(skb, j++);
 
                if (!rxsc_nest) {
                        nla_nest_cancel(skb, rxsc_list);
@@ -2519,7 +2520,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
                        goto nla_put_failure;
                }
 
-               attr = nla_nest_start(skb, MACSEC_RXSC_ATTR_STATS);
+               attr = nla_nest_start_noflag(skb, MACSEC_RXSC_ATTR_STATS);
                if (!attr) {
                        nla_nest_cancel(skb, rxsc_nest);
                        nla_nest_cancel(skb, rxsc_list);
@@ -2533,7 +2534,8 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
                }
                nla_nest_end(skb, attr);
 
-               rxsa_list = nla_nest_start(skb, MACSEC_RXSC_ATTR_SA_LIST);
+               rxsa_list = nla_nest_start_noflag(skb,
+                                                 MACSEC_RXSC_ATTR_SA_LIST);
                if (!rxsa_list) {
                        nla_nest_cancel(skb, rxsc_nest);
                        nla_nest_cancel(skb, rxsc_list);
@@ -2547,7 +2549,7 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
                        if (!rx_sa)
                                continue;
 
-                       rxsa_nest = nla_nest_start(skb, k++);
+                       rxsa_nest = nla_nest_start_noflag(skb, k++);
                        if (!rxsa_nest) {
                                nla_nest_cancel(skb, rxsa_list);
                                nla_nest_cancel(skb, rxsc_nest);
@@ -2555,7 +2557,8 @@ dump_secy(struct macsec_secy *secy, struct net_device *dev,
                                goto nla_put_failure;
                        }
 
-                       attr = nla_nest_start(skb, MACSEC_SA_ATTR_STATS);
+                       attr = nla_nest_start_noflag(skb,
+                                                    MACSEC_SA_ATTR_STATS);
                        if (!attr) {
                                nla_nest_cancel(skb, rxsa_list);
                                nla_nest_cancel(skb, rxsc_nest);
index 4a6be8fab884b0981ebf253ea499dcc091e9e658..b395423b19bcef0f434ed37ea9713e22909c6a1f 100644 (file)
@@ -1624,7 +1624,7 @@ static int macvlan_fill_info(struct sk_buff *skb,
        if (nla_put_u32(skb, IFLA_MACVLAN_MACADDR_COUNT, vlan->macaddr_count))
                goto nla_put_failure;
        if (vlan->macaddr_count > 0) {
-               nest = nla_nest_start(skb, IFLA_MACVLAN_MACADDR_DATA);
+               nest = nla_nest_start_noflag(skb, IFLA_MACVLAN_MACADDR_DATA);
                if (nest == NULL)
                        goto nla_put_failure;
 
index eb4711bfc52a6028dd9370348440eddf07d5b97d..6306897c147fc22473a4d4d5134bcda513e251d5 100644 (file)
@@ -2290,7 +2290,7 @@ static int team_nl_fill_one_option_get(struct sk_buff *skb, struct team *team,
        if (err)
                return err;
 
-       option_item = nla_nest_start(skb, TEAM_ATTR_ITEM_OPTION);
+       option_item = nla_nest_start_noflag(skb, TEAM_ATTR_ITEM_OPTION);
        if (!option_item)
                return -EMSGSIZE;
 
@@ -2404,7 +2404,7 @@ start_again:
 
        if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex))
                goto nla_put_failure;
-       option_list = nla_nest_start(skb, TEAM_ATTR_LIST_OPTION);
+       option_list = nla_nest_start_noflag(skb, TEAM_ATTR_LIST_OPTION);
        if (!option_list)
                goto nla_put_failure;
 
@@ -2626,7 +2626,7 @@ static int team_nl_fill_one_port_get(struct sk_buff *skb,
 {
        struct nlattr *port_item;
 
-       port_item = nla_nest_start(skb, TEAM_ATTR_ITEM_PORT);
+       port_item = nla_nest_start_noflag(skb, TEAM_ATTR_ITEM_PORT);
        if (!port_item)
                goto nest_cancel;
        if (nla_put_u32(skb, TEAM_ATTR_PORT_IFINDEX, port->dev->ifindex))
@@ -2681,7 +2681,7 @@ start_again:
 
        if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex))
                goto nla_put_failure;
-       port_list = nla_nest_start(skb, TEAM_ATTR_LIST_PORT);
+       port_list = nla_nest_start_noflag(skb, TEAM_ATTR_LIST_PORT);
        if (!port_list)
                goto nla_put_failure;
 
index a1e226652b4abfff4f01fffd870e7c9616ffff98..cac18e61474e583a0c5210af92afca4ddcf4db46 100644 (file)
@@ -2679,13 +2679,13 @@ static int wil_rf_sector_get_cfg(struct wiphy *wiphy,
                              QCA_ATTR_PAD))
                goto nla_put_failure;
 
-       nl_cfgs = nla_nest_start(msg, QCA_ATTR_DMG_RF_SECTOR_CFG);
+       nl_cfgs = nla_nest_start_noflag(msg, QCA_ATTR_DMG_RF_SECTOR_CFG);
        if (!nl_cfgs)
                goto nla_put_failure;
        for (i = 0; i < WMI_MAX_RF_MODULES_NUM; i++) {
                if (!(rf_modules_vec & BIT(i)))
                        continue;
-               nl_cfg = nla_nest_start(msg, i);
+               nl_cfg = nla_nest_start_noflag(msg, i);
                if (!nl_cfg)
                        goto nla_put_failure;
                si = &reply.evt.sectors_info[i];
index f2e1e6b13ca4ce9ca2723211e14a6596016dd427..965dc6c6653ee47c8f73638dfd2843c6d8686350 100644 (file)
@@ -401,7 +401,7 @@ ip_set_get_h16(const struct nlattr *attr)
        return ntohs(nla_get_be16(attr));
 }
 
-#define ipset_nest_start(skb, attr) nla_nest_start(skb, attr | NLA_F_NESTED)
+#define ipset_nest_start(skb, attr) nla_nest_start(skb, attr)
 #define ipset_nest_end(skb, start)  nla_nest_end(skb, start)
 
 static inline int nla_put_ipaddr4(struct sk_buff *skb, int type, __be32 ipaddr)
index 23f27b0b3cef0dc18ee91f25a7314b4f9a79600b..1f18b47f41b4b65a05c6a27767b016517a697d5b 100644 (file)
@@ -1415,13 +1415,18 @@ static inline void *nla_memdup(const struct nlattr *src, gfp_t gfp)
 }
 
 /**
- * nla_nest_start - Start a new level of nested attributes
+ * nla_nest_start_noflag - Start a new level of nested attributes
  * @skb: socket buffer to add attributes to
  * @attrtype: attribute type of container
  *
- * Returns the container attribute
+ * This function exists for backward compatibility to use in APIs which never
+ * marked their nest attributes with NLA_F_NESTED flag. New APIs should use
+ * nla_nest_start() which sets the flag.
+ *
+ * Returns the container attribute or NULL on error
  */
-static inline struct nlattr *nla_nest_start(struct sk_buff *skb, int attrtype)
+static inline struct nlattr *nla_nest_start_noflag(struct sk_buff *skb,
+                                                  int attrtype)
 {
        struct nlattr *start = (struct nlattr *)skb_tail_pointer(skb);
 
@@ -1431,6 +1436,21 @@ static inline struct nlattr *nla_nest_start(struct sk_buff *skb, int attrtype)
        return start;
 }
 
+/**
+ * nla_nest_start - Start a new level of nested attributes, with NLA_F_NESTED
+ * @skb: socket buffer to add attributes to
+ * @attrtype: attribute type of container
+ *
+ * Unlike nla_nest_start_noflag(), mark the nest attribute with NLA_F_NESTED
+ * flag. This is the preferred function to use in new code.
+ *
+ * Returns the container attribute or NULL on error
+ */
+static inline struct nlattr *nla_nest_start(struct sk_buff *skb, int attrtype)
+{
+       return nla_nest_start_noflag(skb, attrtype | NLA_F_NESTED);
+}
+
 /**
  * nla_nest_end - Finalize nesting of attributes
  * @skb: socket buffer the attributes are stored in
index 1b942a7caf2625da0dc61cc02a773982c28c7106..ef4f9cd980fd172a9366f12d010e0b90f818eedd 100644 (file)
@@ -375,7 +375,7 @@ static struct taskstats *mk_reply(struct sk_buff *skb, int type, u32 pid)
                        ? TASKSTATS_TYPE_AGGR_PID
                        : TASKSTATS_TYPE_AGGR_TGID;
 
-       na = nla_nest_start(skb, aggr);
+       na = nla_nest_start_noflag(skb, aggr);
        if (!na)
                goto err;
 
index a624dccf68fd0953fb766bb2e74f8e446f6afd85..ab4921e7797bcffb2e15d4d919af1054af5da761 100644 (file)
@@ -227,7 +227,7 @@ static int vlan_fill_info(struct sk_buff *skb, const struct net_device *dev)
                        goto nla_put_failure;
        }
        if (vlan->nr_ingress_mappings) {
-               nest = nla_nest_start(skb, IFLA_VLAN_INGRESS_QOS);
+               nest = nla_nest_start_noflag(skb, IFLA_VLAN_INGRESS_QOS);
                if (nest == NULL)
                        goto nla_put_failure;
 
@@ -245,7 +245,7 @@ static int vlan_fill_info(struct sk_buff *skb, const struct net_device *dev)
        }
 
        if (vlan->nr_egress_mappings) {
-               nest = nla_nest_start(skb, IFLA_VLAN_EGRESS_QOS);
+               nest = nla_nest_start_noflag(skb, IFLA_VLAN_EGRESS_QOS);
                if (nest == NULL)
                        goto nla_put_failure;
 
index f69c8d91dc8189773223080c4c8c8f8ef0924a36..3619c1a12a77071875ac055872f1ba66c8fc6ade 100644 (file)
@@ -26,14 +26,14 @@ static int br_rports_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
        if (!br->multicast_router || hlist_empty(&br->router_list))
                return 0;
 
-       nest = nla_nest_start(skb, MDBA_ROUTER);
+       nest = nla_nest_start_noflag(skb, MDBA_ROUTER);
        if (nest == NULL)
                return -EMSGSIZE;
 
        hlist_for_each_entry_rcu(p, &br->router_list, rlist) {
                if (!p)
                        continue;
-               port_nest = nla_nest_start(skb, MDBA_ROUTER_PORT);
+               port_nest = nla_nest_start_noflag(skb, MDBA_ROUTER_PORT);
                if (!port_nest)
                        goto fail;
                if (nla_put_nohdr(skb, sizeof(u32), &p->dev->ifindex) ||
@@ -86,7 +86,7 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
        if (!br_opt_get(br, BROPT_MULTICAST_ENABLED))
                return 0;
 
-       nest = nla_nest_start(skb, MDBA_MDB);
+       nest = nla_nest_start_noflag(skb, MDBA_MDB);
        if (nest == NULL)
                return -EMSGSIZE;
 
@@ -98,7 +98,7 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
                if (idx < s_idx)
                        goto skip;
 
-               nest2 = nla_nest_start(skb, MDBA_MDB_ENTRY);
+               nest2 = nla_nest_start_noflag(skb, MDBA_MDB_ENTRY);
                if (!nest2) {
                        err = -EMSGSIZE;
                        break;
@@ -124,7 +124,8 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
                                e.addr.u.ip6 = p->addr.u.ip6;
 #endif
                        e.addr.proto = p->addr.proto;
-                       nest_ent = nla_nest_start(skb, MDBA_MDB_ENTRY_INFO);
+                       nest_ent = nla_nest_start_noflag(skb,
+                                                        MDBA_MDB_ENTRY_INFO);
                        if (!nest_ent) {
                                nla_nest_cancel(skb, nest2);
                                err = -EMSGSIZE;
@@ -248,10 +249,10 @@ static int nlmsg_populate_mdb_fill(struct sk_buff *skb,
        memset(bpm, 0, sizeof(*bpm));
        bpm->family  = AF_BRIDGE;
        bpm->ifindex = dev->ifindex;
-       nest = nla_nest_start(skb, MDBA_MDB);
+       nest = nla_nest_start_noflag(skb, MDBA_MDB);
        if (nest == NULL)
                goto cancel;
-       nest2 = nla_nest_start(skb, MDBA_MDB_ENTRY);
+       nest2 = nla_nest_start_noflag(skb, MDBA_MDB_ENTRY);
        if (nest2 == NULL)
                goto end;
 
@@ -444,7 +445,7 @@ static int nlmsg_populate_rtr_fill(struct sk_buff *skb,
        memset(bpm, 0, sizeof(*bpm));
        bpm->family = AF_BRIDGE;
        bpm->ifindex = dev->ifindex;
-       nest = nla_nest_start(skb, MDBA_ROUTER);
+       nest = nla_nest_start_noflag(skb, MDBA_ROUTER);
        if (!nest)
                goto cancel;
 
index 8dfcc2d285d8ccd640bce0b084f0b2418f62204d..0914477c47197bbd214e03cde8e856c87c2029b5 100644 (file)
@@ -414,7 +414,7 @@ static int br_fill_ifinfo(struct sk_buff *skb,
 
        if (event == RTM_NEWLINK && port) {
                struct nlattr *nest
-                       = nla_nest_start(skb, IFLA_PROTINFO | NLA_F_NESTED);
+                       = nla_nest_start(skb, IFLA_PROTINFO);
 
                if (nest == NULL || br_port_fill_attrs(skb, port) < 0)
                        goto nla_put_failure;
@@ -439,7 +439,7 @@ static int br_fill_ifinfo(struct sk_buff *skb,
                        rcu_read_unlock();
                        goto done;
                }
-               af = nla_nest_start(skb, IFLA_AF_SPEC);
+               af = nla_nest_start_noflag(skb, IFLA_AF_SPEC);
                if (!af) {
                        rcu_read_unlock();
                        goto nla_put_failure;
@@ -1569,7 +1569,7 @@ static int br_fill_linkxstats(struct sk_buff *skb,
                return -EINVAL;
        }
 
-       nest = nla_nest_start(skb, LINK_XSTATS_TYPE_BRIDGE);
+       nest = nla_nest_start_noflag(skb, LINK_XSTATS_TYPE_BRIDGE);
        if (!nest)
                return -EMSGSIZE;
 
index da8cb99fd2591d15b77a8fb98540a2c9b034f6c5..787e140dc4b5b6cf3e25afeb3da0df4e1a52a0db 100644 (file)
@@ -97,7 +97,7 @@ static int br_fill_vlan_tinfo(struct sk_buff *skb, u16 vid,
        __be32 tid = tunnel_id_to_key32(tunnel_id);
        struct nlattr *tmap;
 
-       tmap = nla_nest_start(skb, IFLA_BRIDGE_VLAN_TUNNEL_INFO);
+       tmap = nla_nest_start_noflag(skb, IFLA_BRIDGE_VLAN_TUNNEL_INFO);
        if (!tmap)
                return -EMSGSIZE;
        if (nla_put_u32(skb, IFLA_BRIDGE_VLAN_TUNNEL_ID,
index 7b91605e75d6f7888125af9459230277d09f16c9..b94f326f5f06857072897b32bf760a3681b5980d 100644 (file)
@@ -1671,7 +1671,7 @@ int devlink_dpipe_match_put(struct sk_buff *skb,
        struct devlink_dpipe_field *field = &header->fields[match->field_id];
        struct nlattr *match_attr;
 
-       match_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_MATCH);
+       match_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_DPIPE_MATCH);
        if (!match_attr)
                return -EMSGSIZE;
 
@@ -1696,7 +1696,8 @@ static int devlink_dpipe_matches_put(struct devlink_dpipe_table *table,
 {
        struct nlattr *matches_attr;
 
-       matches_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_TABLE_MATCHES);
+       matches_attr = nla_nest_start_noflag(skb,
+                                            DEVLINK_ATTR_DPIPE_TABLE_MATCHES);
        if (!matches_attr)
                return -EMSGSIZE;
 
@@ -1718,7 +1719,7 @@ int devlink_dpipe_action_put(struct sk_buff *skb,
        struct devlink_dpipe_field *field = &header->fields[action->field_id];
        struct nlattr *action_attr;
 
-       action_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_ACTION);
+       action_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_DPIPE_ACTION);
        if (!action_attr)
                return -EMSGSIZE;
 
@@ -1743,7 +1744,8 @@ static int devlink_dpipe_actions_put(struct devlink_dpipe_table *table,
 {
        struct nlattr *actions_attr;
 
-       actions_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_TABLE_ACTIONS);
+       actions_attr = nla_nest_start_noflag(skb,
+                                            DEVLINK_ATTR_DPIPE_TABLE_ACTIONS);
        if (!actions_attr)
                return -EMSGSIZE;
 
@@ -1765,7 +1767,7 @@ static int devlink_dpipe_table_put(struct sk_buff *skb,
        u64 table_size;
 
        table_size = table->table_ops->size_get(table->priv);
-       table_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_TABLE);
+       table_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_DPIPE_TABLE);
        if (!table_attr)
                return -EMSGSIZE;
 
@@ -1845,7 +1847,7 @@ start_again:
 
        if (devlink_nl_put_handle(skb, devlink))
                goto nla_put_failure;
-       tables_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_TABLES);
+       tables_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_DPIPE_TABLES);
        if (!tables_attr)
                goto nla_put_failure;
 
@@ -1946,8 +1948,8 @@ static int devlink_dpipe_action_values_put(struct sk_buff *skb,
        int err;
 
        for (i = 0; i < values_count; i++) {
-               action_attr = nla_nest_start(skb,
-                                            DEVLINK_ATTR_DPIPE_ACTION_VALUE);
+               action_attr = nla_nest_start_noflag(skb,
+                                                   DEVLINK_ATTR_DPIPE_ACTION_VALUE);
                if (!action_attr)
                        return -EMSGSIZE;
                err = devlink_dpipe_action_value_put(skb, &values[i]);
@@ -1983,8 +1985,8 @@ static int devlink_dpipe_match_values_put(struct sk_buff *skb,
        int err;
 
        for (i = 0; i < values_count; i++) {
-               match_attr = nla_nest_start(skb,
-                                           DEVLINK_ATTR_DPIPE_MATCH_VALUE);
+               match_attr = nla_nest_start_noflag(skb,
+                                                  DEVLINK_ATTR_DPIPE_MATCH_VALUE);
                if (!match_attr)
                        return -EMSGSIZE;
                err = devlink_dpipe_match_value_put(skb, &values[i]);
@@ -2005,7 +2007,7 @@ static int devlink_dpipe_entry_put(struct sk_buff *skb,
        struct nlattr *entry_attr, *matches_attr, *actions_attr;
        int err;
 
-       entry_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_ENTRY);
+       entry_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_DPIPE_ENTRY);
        if (!entry_attr)
                return  -EMSGSIZE;
 
@@ -2017,8 +2019,8 @@ static int devlink_dpipe_entry_put(struct sk_buff *skb,
                                      entry->counter, DEVLINK_ATTR_PAD))
                        goto nla_put_failure;
 
-       matches_attr = nla_nest_start(skb,
-                                     DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES);
+       matches_attr = nla_nest_start_noflag(skb,
+                                            DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES);
        if (!matches_attr)
                goto nla_put_failure;
 
@@ -2030,8 +2032,8 @@ static int devlink_dpipe_entry_put(struct sk_buff *skb,
        }
        nla_nest_end(skb, matches_attr);
 
-       actions_attr = nla_nest_start(skb,
-                                     DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES);
+       actions_attr = nla_nest_start_noflag(skb,
+                                            DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES);
        if (!actions_attr)
                goto nla_put_failure;
 
@@ -2088,8 +2090,8 @@ int devlink_dpipe_entry_ctx_prepare(struct devlink_dpipe_dump_ctx *dump_ctx)
        devlink = dump_ctx->info->user_ptr[0];
        if (devlink_nl_put_handle(dump_ctx->skb, devlink))
                goto nla_put_failure;
-       dump_ctx->nest = nla_nest_start(dump_ctx->skb,
-                                       DEVLINK_ATTR_DPIPE_ENTRIES);
+       dump_ctx->nest = nla_nest_start_noflag(dump_ctx->skb,
+                                              DEVLINK_ATTR_DPIPE_ENTRIES);
        if (!dump_ctx->nest)
                goto nla_put_failure;
        return 0;
@@ -2199,7 +2201,8 @@ static int devlink_dpipe_fields_put(struct sk_buff *skb,
 
        for (i = 0; i < header->fields_count; i++) {
                field = &header->fields[i];
-               field_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_FIELD);
+               field_attr = nla_nest_start_noflag(skb,
+                                                  DEVLINK_ATTR_DPIPE_FIELD);
                if (!field_attr)
                        return -EMSGSIZE;
                if (nla_put_string(skb, DEVLINK_ATTR_DPIPE_FIELD_NAME, field->name) ||
@@ -2222,7 +2225,7 @@ static int devlink_dpipe_header_put(struct sk_buff *skb,
        struct nlattr *fields_attr, *header_attr;
        int err;
 
-       header_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_HEADER);
+       header_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_DPIPE_HEADER);
        if (!header_attr)
                return -EMSGSIZE;
 
@@ -2231,7 +2234,8 @@ static int devlink_dpipe_header_put(struct sk_buff *skb,
            nla_put_u8(skb, DEVLINK_ATTR_DPIPE_HEADER_GLOBAL, header->global))
                goto nla_put_failure;
 
-       fields_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_HEADER_FIELDS);
+       fields_attr = nla_nest_start_noflag(skb,
+                                           DEVLINK_ATTR_DPIPE_HEADER_FIELDS);
        if (!fields_attr)
                goto nla_put_failure;
 
@@ -2278,7 +2282,7 @@ start_again:
 
        if (devlink_nl_put_handle(skb, devlink))
                goto nla_put_failure;
-       headers_attr = nla_nest_start(skb, DEVLINK_ATTR_DPIPE_HEADERS);
+       headers_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_DPIPE_HEADERS);
        if (!headers_attr)
                goto nla_put_failure;
 
@@ -2502,7 +2506,7 @@ static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb,
        struct nlattr *child_resource_attr;
        struct nlattr *resource_attr;
 
-       resource_attr = nla_nest_start(skb, DEVLINK_ATTR_RESOURCE);
+       resource_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_RESOURCE);
        if (!resource_attr)
                return -EMSGSIZE;
 
@@ -2526,7 +2530,8 @@ static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb,
                       resource->size_valid))
                goto nla_put_failure;
 
-       child_resource_attr = nla_nest_start(skb, DEVLINK_ATTR_RESOURCE_LIST);
+       child_resource_attr = nla_nest_start_noflag(skb,
+                                                   DEVLINK_ATTR_RESOURCE_LIST);
        if (!child_resource_attr)
                goto nla_put_failure;
 
@@ -2577,7 +2582,8 @@ start_again:
        if (devlink_nl_put_handle(skb, devlink))
                goto nla_put_failure;
 
-       resources_attr = nla_nest_start(skb, DEVLINK_ATTR_RESOURCE_LIST);
+       resources_attr = nla_nest_start_noflag(skb,
+                                              DEVLINK_ATTR_RESOURCE_LIST);
        if (!resources_attr)
                goto nla_put_failure;
 
@@ -2831,7 +2837,8 @@ devlink_nl_param_value_fill_one(struct sk_buff *msg,
 {
        struct nlattr *param_value_attr;
 
-       param_value_attr = nla_nest_start(msg, DEVLINK_ATTR_PARAM_VALUE);
+       param_value_attr = nla_nest_start_noflag(msg,
+                                                DEVLINK_ATTR_PARAM_VALUE);
        if (!param_value_attr)
                goto nla_put_failure;
 
@@ -2922,7 +2929,7 @@ static int devlink_nl_param_fill(struct sk_buff *msg, struct devlink *devlink,
                if (nla_put_u32(msg, DEVLINK_ATTR_PORT_INDEX, port_index))
                        goto genlmsg_cancel;
 
-       param_attr = nla_nest_start(msg, DEVLINK_ATTR_PARAM);
+       param_attr = nla_nest_start_noflag(msg, DEVLINK_ATTR_PARAM);
        if (!param_attr)
                goto genlmsg_cancel;
        if (nla_put_string(msg, DEVLINK_ATTR_PARAM_NAME, param->name))
@@ -2936,7 +2943,8 @@ static int devlink_nl_param_fill(struct sk_buff *msg, struct devlink *devlink,
        if (nla_put_u8(msg, DEVLINK_ATTR_PARAM_TYPE, nla_type))
                goto param_nest_cancel;
 
-       param_values_list = nla_nest_start(msg, DEVLINK_ATTR_PARAM_VALUES_LIST);
+       param_values_list = nla_nest_start_noflag(msg,
+                                                 DEVLINK_ATTR_PARAM_VALUES_LIST);
        if (!param_values_list)
                goto param_nest_cancel;
 
@@ -3336,7 +3344,7 @@ static int devlink_nl_region_snapshot_id_put(struct sk_buff *msg,
        struct nlattr *snap_attr;
        int err;
 
-       snap_attr = nla_nest_start(msg, DEVLINK_ATTR_REGION_SNAPSHOT);
+       snap_attr = nla_nest_start_noflag(msg, DEVLINK_ATTR_REGION_SNAPSHOT);
        if (!snap_attr)
                return -EINVAL;
 
@@ -3360,7 +3368,8 @@ static int devlink_nl_region_snapshots_id_put(struct sk_buff *msg,
        struct nlattr *snapshots_attr;
        int err;
 
-       snapshots_attr = nla_nest_start(msg, DEVLINK_ATTR_REGION_SNAPSHOTS);
+       snapshots_attr = nla_nest_start_noflag(msg,
+                                              DEVLINK_ATTR_REGION_SNAPSHOTS);
        if (!snapshots_attr)
                return -EINVAL;
 
@@ -3576,7 +3585,7 @@ static int devlink_nl_cmd_region_read_chunk_fill(struct sk_buff *msg,
        struct nlattr *chunk_attr;
        int err;
 
-       chunk_attr = nla_nest_start(msg, DEVLINK_ATTR_REGION_CHUNK);
+       chunk_attr = nla_nest_start_noflag(msg, DEVLINK_ATTR_REGION_CHUNK);
        if (!chunk_attr)
                return -EINVAL;
 
@@ -3709,7 +3718,7 @@ static int devlink_nl_cmd_region_read_dumpit(struct sk_buff *skb,
        if (err)
                goto nla_put_failure;
 
-       chunks_attr = nla_nest_start(skb, DEVLINK_ATTR_REGION_CHUNKS);
+       chunks_attr = nla_nest_start_noflag(skb, DEVLINK_ATTR_REGION_CHUNKS);
        if (!chunks_attr) {
                err = -EMSGSIZE;
                goto nla_put_failure;
@@ -3785,7 +3794,7 @@ static int devlink_info_version_put(struct devlink_info_req *req, int attr,
        struct nlattr *nest;
        int err;
 
-       nest = nla_nest_start(req->msg, attr);
+       nest = nla_nest_start_noflag(req->msg, attr);
        if (!nest)
                return -EMSGSIZE;
 
@@ -4313,7 +4322,7 @@ devlink_fmsg_prepare_skb(struct devlink_fmsg *fmsg, struct sk_buff *skb,
        int i = 0;
        int err;
 
-       fmsg_nlattr = nla_nest_start(skb, DEVLINK_ATTR_FMSG);
+       fmsg_nlattr = nla_nest_start_noflag(skb, DEVLINK_ATTR_FMSG);
        if (!fmsg_nlattr)
                return -EMSGSIZE;
 
@@ -4665,7 +4674,8 @@ devlink_nl_health_reporter_fill(struct sk_buff *msg,
        if (devlink_nl_put_handle(msg, devlink))
                goto genlmsg_cancel;
 
-       reporter_attr = nla_nest_start(msg, DEVLINK_ATTR_HEALTH_REPORTER);
+       reporter_attr = nla_nest_start_noflag(msg,
+                                             DEVLINK_ATTR_HEALTH_REPORTER);
        if (!reporter_attr)
                goto genlmsg_cancel;
        if (nla_put_string(msg, DEVLINK_ATTR_HEALTH_REPORTER_NAME,
index 3c5c24a5d9f5c7d78e67f88f107318ad7414d269..bbdfc8db19604b6f8a299bdd4c56754fc1ee3fd1 100644 (file)
@@ -453,7 +453,7 @@ static int bpf_fill_lwt_prog(struct sk_buff *skb, int attr,
        if (!prog->prog)
                return 0;
 
-       nest = nla_nest_start(skb, attr);
+       nest = nla_nest_start_noflag(skb, attr);
        if (!nest)
                return -EMSGSIZE;
 
index 94749e0e2cfd28e8d80692a039757d8ad77437d5..69e249fbc02f8363141f07a723fe52d77653ea96 100644 (file)
@@ -237,7 +237,7 @@ int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate,
            lwtstate->type > LWTUNNEL_ENCAP_MAX)
                return 0;
 
-       nest = nla_nest_start(skb, encap_attr);
+       nest = nla_nest_start_noflag(skb, encap_attr);
        if (!nest)
                return -EMSGSIZE;
 
index 997cfa8f99ba9c1f259e3958e27cf5392e41745c..efd0b53d9ca4830f38a7d8f5a5b5eb98639be515 100644 (file)
@@ -1979,7 +1979,7 @@ static int neightbl_fill_parms(struct sk_buff *skb, struct neigh_parms *parms)
 {
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, NDTA_PARMS);
+       nest = nla_nest_start_noflag(skb, NDTA_PARMS);
        if (nest == NULL)
                return -ENOBUFS;
 
index 5fa5bf3e9945babef497d30396cb8f7b9832ee3b..8ad44b299e72aed01e2a7210db332286f6e94f0e 100644 (file)
@@ -634,7 +634,7 @@ static int rtnl_link_slave_info_fill(struct sk_buff *skb,
        if (nla_put_string(skb, IFLA_INFO_SLAVE_KIND, ops->kind) < 0)
                return -EMSGSIZE;
        if (ops->fill_slave_info) {
-               slave_data = nla_nest_start(skb, IFLA_INFO_SLAVE_DATA);
+               slave_data = nla_nest_start_noflag(skb, IFLA_INFO_SLAVE_DATA);
                if (!slave_data)
                        return -EMSGSIZE;
                err = ops->fill_slave_info(skb, master_dev, dev);
@@ -666,7 +666,7 @@ static int rtnl_link_info_fill(struct sk_buff *skb,
                        return err;
        }
        if (ops->fill_info) {
-               data = nla_nest_start(skb, IFLA_INFO_DATA);
+               data = nla_nest_start_noflag(skb, IFLA_INFO_DATA);
                if (data == NULL)
                        return -EMSGSIZE;
                err = ops->fill_info(skb, dev);
@@ -686,7 +686,7 @@ static int rtnl_link_fill(struct sk_buff *skb, const struct net_device *dev)
        struct nlattr *linkinfo;
        int err = -EMSGSIZE;
 
-       linkinfo = nla_nest_start(skb, IFLA_LINKINFO);
+       linkinfo = nla_nest_start_noflag(skb, IFLA_LINKINFO);
        if (linkinfo == NULL)
                goto out;
 
@@ -755,7 +755,7 @@ int rtnetlink_put_metrics(struct sk_buff *skb, u32 *metrics)
        struct nlattr *mx;
        int i, valid = 0;
 
-       mx = nla_nest_start(skb, RTA_METRICS);
+       mx = nla_nest_start_noflag(skb, RTA_METRICS);
        if (mx == NULL)
                return -ENOBUFS;
 
@@ -1036,12 +1036,12 @@ static int rtnl_vf_ports_fill(struct sk_buff *skb, struct net_device *dev)
        int vf;
        int err;
 
-       vf_ports = nla_nest_start(skb, IFLA_VF_PORTS);
+       vf_ports = nla_nest_start_noflag(skb, IFLA_VF_PORTS);
        if (!vf_ports)
                return -EMSGSIZE;
 
        for (vf = 0; vf < dev_num_vf(dev->dev.parent); vf++) {
-               vf_port = nla_nest_start(skb, IFLA_VF_PORT);
+               vf_port = nla_nest_start_noflag(skb, IFLA_VF_PORT);
                if (!vf_port)
                        goto nla_put_failure;
                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)
        struct nlattr *port_self;
        int err;
 
-       port_self = nla_nest_start(skb, IFLA_PORT_SELF);
+       port_self = nla_nest_start_noflag(skb, IFLA_PORT_SELF);
        if (!port_self)
                return -EMSGSIZE;
 
@@ -1247,7 +1247,7 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb,
        vf_linkstate.link_state = ivi.linkstate;
        vf_rss_query_en.setting = ivi.rss_query_en;
        vf_trust.setting = ivi.trusted;
-       vf = nla_nest_start(skb, IFLA_VF_INFO);
+       vf = nla_nest_start_noflag(skb, IFLA_VF_INFO);
        if (!vf)
                goto nla_put_vfinfo_failure;
        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,
            nla_put(skb, IFLA_VF_TRUST,
                    sizeof(vf_trust), &vf_trust))
                goto nla_put_vf_failure;
-       vfvlanlist = nla_nest_start(skb, IFLA_VF_VLAN_LIST);
+       vfvlanlist = nla_nest_start_noflag(skb, IFLA_VF_VLAN_LIST);
        if (!vfvlanlist)
                goto nla_put_vf_failure;
        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,
        if (dev->netdev_ops->ndo_get_vf_stats)
                dev->netdev_ops->ndo_get_vf_stats(dev, vfs_num,
                                                &vf_stats);
-       vfstats = nla_nest_start(skb, IFLA_VF_STATS);
+       vfstats = nla_nest_start_noflag(skb, IFLA_VF_STATS);
        if (!vfstats)
                goto nla_put_vf_failure;
        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,
        if (!dev->netdev_ops->ndo_get_vf_config)
                return 0;
 
-       vfinfo = nla_nest_start(skb, IFLA_VFINFO_LIST);
+       vfinfo = nla_nest_start_noflag(skb, IFLA_VFINFO_LIST);
        if (!vfinfo)
                return -EMSGSIZE;
 
@@ -1414,7 +1414,7 @@ static int rtnl_xdp_fill(struct sk_buff *skb, struct net_device *dev)
        int err;
        u8 mode;
 
-       xdp = nla_nest_start(skb, IFLA_XDP);
+       xdp = nla_nest_start_noflag(skb, IFLA_XDP);
        if (!xdp)
                return -EMSGSIZE;
 
@@ -1541,7 +1541,7 @@ static int rtnl_fill_link_af(struct sk_buff *skb,
        const struct rtnl_af_ops *af_ops;
        struct nlattr *af_spec;
 
-       af_spec = nla_nest_start(skb, IFLA_AF_SPEC);
+       af_spec = nla_nest_start_noflag(skb, IFLA_AF_SPEC);
        if (!af_spec)
                return -EMSGSIZE;
 
@@ -1552,7 +1552,7 @@ static int rtnl_fill_link_af(struct sk_buff *skb,
                if (!af_ops->fill_link_af)
                        continue;
 
-               af = nla_nest_start(skb, af_ops->family);
+               af = nla_nest_start_noflag(skb, af_ops->family);
                if (!af)
                        return -EMSGSIZE;
 
@@ -4273,7 +4273,7 @@ int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
             nla_put_u32(skb, IFLA_LINK, dev_get_iflink(dev))))
                goto nla_put_failure;
 
-       br_afspec = nla_nest_start(skb, IFLA_AF_SPEC);
+       br_afspec = nla_nest_start_noflag(skb, IFLA_AF_SPEC);
        if (!br_afspec)
                goto nla_put_failure;
 
@@ -4297,7 +4297,7 @@ int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
        }
        nla_nest_end(skb, br_afspec);
 
-       protinfo = nla_nest_start(skb, IFLA_PROTINFO | NLA_F_NESTED);
+       protinfo = nla_nest_start(skb, IFLA_PROTINFO);
        if (!protinfo)
                goto nla_put_failure;
 
@@ -4776,8 +4776,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
 
                if (ops && ops->fill_linkxstats) {
                        *idxattr = IFLA_STATS_LINK_XSTATS;
-                       attr = nla_nest_start(skb,
-                                             IFLA_STATS_LINK_XSTATS);
+                       attr = nla_nest_start_noflag(skb,
+                                                    IFLA_STATS_LINK_XSTATS);
                        if (!attr)
                                goto nla_put_failure;
 
@@ -4799,8 +4799,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
                        ops = master->rtnl_link_ops;
                if (ops && ops->fill_linkxstats) {
                        *idxattr = IFLA_STATS_LINK_XSTATS_SLAVE;
-                       attr = nla_nest_start(skb,
-                                             IFLA_STATS_LINK_XSTATS_SLAVE);
+                       attr = nla_nest_start_noflag(skb,
+                                                    IFLA_STATS_LINK_XSTATS_SLAVE);
                        if (!attr)
                                goto nla_put_failure;
 
@@ -4815,7 +4815,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
        if (stats_attr_valid(filter_mask, IFLA_STATS_LINK_OFFLOAD_XSTATS,
                             *idxattr)) {
                *idxattr = IFLA_STATS_LINK_OFFLOAD_XSTATS;
-               attr = nla_nest_start(skb, IFLA_STATS_LINK_OFFLOAD_XSTATS);
+               attr = nla_nest_start_noflag(skb,
+                                            IFLA_STATS_LINK_OFFLOAD_XSTATS);
                if (!attr)
                        goto nla_put_failure;
 
@@ -4834,7 +4835,7 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
                struct rtnl_af_ops *af_ops;
 
                *idxattr = IFLA_STATS_AF_SPEC;
-               attr = nla_nest_start(skb, IFLA_STATS_AF_SPEC);
+               attr = nla_nest_start_noflag(skb, IFLA_STATS_AF_SPEC);
                if (!attr)
                        goto nla_put_failure;
 
@@ -4844,7 +4845,8 @@ static int rtnl_fill_statsinfo(struct sk_buff *skb, struct net_device *dev,
                                struct nlattr *af;
                                int err;
 
-                               af = nla_nest_start(skb, af_ops->family);
+                               af = nla_nest_start_noflag(skb,
+                                                          af_ops->family);
                                if (!af) {
                                        rcu_read_unlock();
                                        goto nla_put_failure;
index a556cd708885a798ba13e1cf8443c8cf96251e28..3fd3aa7348bdfeb4e01d355277a978dfae100e7a 100644 (file)
@@ -246,7 +246,7 @@ static int dcbnl_getpfccfg(struct net_device *netdev, struct nlmsghdr *nlh,
        if (ret)
                return ret;
 
-       nest = nla_nest_start(skb, DCB_ATTR_PFC_CFG);
+       nest = nla_nest_start_noflag(skb, DCB_ATTR_PFC_CFG);
        if (!nest)
                return -EMSGSIZE;
 
@@ -304,7 +304,7 @@ static int dcbnl_getcap(struct net_device *netdev, struct nlmsghdr *nlh,
        if (ret)
                return ret;
 
-       nest = nla_nest_start(skb, DCB_ATTR_CAP);
+       nest = nla_nest_start_noflag(skb, DCB_ATTR_CAP);
        if (!nest)
                return -EMSGSIZE;
 
@@ -348,7 +348,7 @@ static int dcbnl_getnumtcs(struct net_device *netdev, struct nlmsghdr *nlh,
        if (ret)
                return ret;
 
-       nest = nla_nest_start(skb, DCB_ATTR_NUMTCS);
+       nest = nla_nest_start_noflag(skb, DCB_ATTR_NUMTCS);
        if (!nest)
                return -EMSGSIZE;
 
@@ -479,7 +479,7 @@ static int dcbnl_getapp(struct net_device *netdev, struct nlmsghdr *nlh,
                up = dcb_getapp(netdev, &app);
        }
 
-       app_nest = nla_nest_start(skb, DCB_ATTR_APP);
+       app_nest = nla_nest_start_noflag(skb, DCB_ATTR_APP);
        if (!app_nest)
                return -EMSGSIZE;
 
@@ -578,7 +578,7 @@ static int __dcbnl_pg_getcfg(struct net_device *netdev, struct nlmsghdr *nlh,
        if (ret)
                return ret;
 
-       pg_nest = nla_nest_start(skb, DCB_ATTR_PG_CFG);
+       pg_nest = nla_nest_start_noflag(skb, DCB_ATTR_PG_CFG);
        if (!pg_nest)
                return -EMSGSIZE;
 
@@ -598,7 +598,7 @@ static int __dcbnl_pg_getcfg(struct net_device *netdev, struct nlmsghdr *nlh,
                if (ret)
                        goto err_pg;
 
-               param_nest = nla_nest_start(skb, i);
+               param_nest = nla_nest_start_noflag(skb, i);
                if (!param_nest)
                        goto err_pg;
 
@@ -889,7 +889,7 @@ static int dcbnl_bcn_getcfg(struct net_device *netdev, struct nlmsghdr *nlh,
        if (ret)
                return ret;
 
-       bcn_nest = nla_nest_start(skb, DCB_ATTR_BCN);
+       bcn_nest = nla_nest_start_noflag(skb, DCB_ATTR_BCN);
        if (!bcn_nest)
                return -EMSGSIZE;
 
@@ -1002,7 +1002,7 @@ static int dcbnl_build_peer_app(struct net_device *netdev, struct sk_buff* skb,
                 */
                err = -EMSGSIZE;
 
-               app = nla_nest_start(skb, app_nested_type);
+               app = nla_nest_start_noflag(skb, app_nested_type);
                if (!app)
                        goto nla_put_failure;
 
@@ -1036,7 +1036,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
        if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name))
                return -EMSGSIZE;
 
-       ieee = nla_nest_start(skb, DCB_ATTR_IEEE);
+       ieee = nla_nest_start_noflag(skb, DCB_ATTR_IEEE);
        if (!ieee)
                return -EMSGSIZE;
 
@@ -1106,7 +1106,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
                        return -EMSGSIZE;
        }
 
-       app = nla_nest_start(skb, DCB_ATTR_IEEE_APP_TABLE);
+       app = nla_nest_start_noflag(skb, DCB_ATTR_IEEE_APP_TABLE);
        if (!app)
                return -EMSGSIZE;
 
@@ -1174,13 +1174,13 @@ static int dcbnl_cee_pg_fill(struct sk_buff *skb, struct net_device *dev,
        u8 pgid, up_map, prio, tc_pct;
        const struct dcbnl_rtnl_ops *ops = dev->dcbnl_ops;
        int i = dir ? DCB_ATTR_CEE_TX_PG : DCB_ATTR_CEE_RX_PG;
-       struct nlattr *pg = nla_nest_start(skb, i);
+       struct nlattr *pg = nla_nest_start_noflag(skb, i);
 
        if (!pg)
                return -EMSGSIZE;
 
        for (i = DCB_PG_ATTR_TC_0; i <= DCB_PG_ATTR_TC_7; i++) {
-               struct nlattr *tc_nest = nla_nest_start(skb, i);
+               struct nlattr *tc_nest = nla_nest_start_noflag(skb, i);
 
                if (!tc_nest)
                        return -EMSGSIZE;
@@ -1231,7 +1231,7 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
 
        if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name))
                goto nla_put_failure;
-       cee = nla_nest_start(skb, DCB_ATTR_CEE);
+       cee = nla_nest_start_noflag(skb, DCB_ATTR_CEE);
        if (!cee)
                goto nla_put_failure;
 
@@ -1250,7 +1250,8 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
 
        /* local pfc */
        if (ops->getpfccfg) {
-               struct nlattr *pfc_nest = nla_nest_start(skb, DCB_ATTR_CEE_PFC);
+               struct nlattr *pfc_nest = nla_nest_start_noflag(skb,
+                                                               DCB_ATTR_CEE_PFC);
 
                if (!pfc_nest)
                        goto nla_put_failure;
@@ -1265,14 +1266,14 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
 
        /* local app */
        spin_lock_bh(&dcb_lock);
-       app = nla_nest_start(skb, DCB_ATTR_CEE_APP_TABLE);
+       app = nla_nest_start_noflag(skb, DCB_ATTR_CEE_APP_TABLE);
        if (!app)
                goto dcb_unlock;
 
        list_for_each_entry(itr, &dcb_app_list, list) {
                if (itr->ifindex == netdev->ifindex) {
-                       struct nlattr *app_nest = nla_nest_start(skb,
-                                                                DCB_ATTR_APP);
+                       struct nlattr *app_nest = nla_nest_start_noflag(skb,
+                                                                       DCB_ATTR_APP);
                        if (!app_nest)
                                goto dcb_unlock;
 
@@ -1305,7 +1306,8 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
 
        /* features flags */
        if (ops->getfeatcfg) {
-               struct nlattr *feat = nla_nest_start(skb, DCB_ATTR_CEE_FEAT);
+               struct nlattr *feat = nla_nest_start_noflag(skb,
+                                                           DCB_ATTR_CEE_FEAT);
                if (!feat)
                        goto nla_put_failure;
 
@@ -1607,7 +1609,7 @@ static int dcbnl_getfeatcfg(struct net_device *netdev, struct nlmsghdr *nlh,
        if (ret)
                return ret;
 
-       nest = nla_nest_start(skb, DCB_ATTR_FEATCFG);
+       nest = nla_nest_start_noflag(skb, DCB_ATTR_FEATCFG);
        if (!nest)
                return -EMSGSIZE;
 
index f0710b5d037d09d5e2e48cd842e7c999a9061fc7..2fb764321b97acacbaa74293509a166f1741fdaa 100644 (file)
@@ -348,7 +348,7 @@ static int dn_fib_dump_info(struct sk_buff *skb, u32 portid, u32 seq, int event,
                struct rtnexthop *nhp;
                struct nlattr *mp_head;
 
-               if (!(mp_head = nla_nest_start(skb, RTA_MULTIPATH)))
+               if (!(mp_head = nla_nest_start_noflag(skb, RTA_MULTIPATH)))
                        goto errout;
 
                for_nexthops(fi) {
index 308370cfd668d490c927724a65118565853cd700..1a002eb850964f4be2ff64e907294a60b6e0fc20 100644 (file)
@@ -312,7 +312,7 @@ static inline void *nl802154hdr_put(struct sk_buff *skb, u32 portid, u32 seq,
 static int
 nl802154_put_flags(struct sk_buff *msg, int attr, u32 mask)
 {
-       struct nlattr *nl_flags = nla_nest_start(msg, attr);
+       struct nlattr *nl_flags = nla_nest_start_noflag(msg, attr);
        int i;
 
        if (!nl_flags)
@@ -338,7 +338,7 @@ nl802154_send_wpan_phy_channels(struct cfg802154_registered_device *rdev,
        struct nlattr *nl_page;
        unsigned long page;
 
-       nl_page = nla_nest_start(msg, NL802154_ATTR_CHANNELS_SUPPORTED);
+       nl_page = nla_nest_start_noflag(msg, NL802154_ATTR_CHANNELS_SUPPORTED);
        if (!nl_page)
                return -ENOBUFS;
 
@@ -360,11 +360,11 @@ nl802154_put_capabilities(struct sk_buff *msg,
        struct nlattr *nl_caps, *nl_channels;
        int i;
 
-       nl_caps = nla_nest_start(msg, NL802154_ATTR_WPAN_PHY_CAPS);
+       nl_caps = nla_nest_start_noflag(msg, NL802154_ATTR_WPAN_PHY_CAPS);
        if (!nl_caps)
                return -ENOBUFS;
 
-       nl_channels = nla_nest_start(msg, NL802154_CAP_ATTR_CHANNELS);
+       nl_channels = nla_nest_start_noflag(msg, NL802154_CAP_ATTR_CHANNELS);
        if (!nl_channels)
                return -ENOBUFS;
 
@@ -380,8 +380,8 @@ nl802154_put_capabilities(struct sk_buff *msg,
        if (rdev->wpan_phy.flags & WPAN_PHY_FLAG_CCA_ED_LEVEL) {
                struct nlattr *nl_ed_lvls;
 
-               nl_ed_lvls = nla_nest_start(msg,
-                                           NL802154_CAP_ATTR_CCA_ED_LEVELS);
+               nl_ed_lvls = nla_nest_start_noflag(msg,
+                                                  NL802154_CAP_ATTR_CCA_ED_LEVELS);
                if (!nl_ed_lvls)
                        return -ENOBUFS;
 
@@ -396,7 +396,8 @@ nl802154_put_capabilities(struct sk_buff *msg,
        if (rdev->wpan_phy.flags & WPAN_PHY_FLAG_TXPOWER) {
                struct nlattr *nl_tx_pwrs;
 
-               nl_tx_pwrs = nla_nest_start(msg, NL802154_CAP_ATTR_TX_POWERS);
+               nl_tx_pwrs = nla_nest_start_noflag(msg,
+                                                  NL802154_CAP_ATTR_TX_POWERS);
                if (!nl_tx_pwrs)
                        return -ENOBUFS;
 
@@ -504,7 +505,7 @@ static int nl802154_send_wpan_phy(struct cfg802154_registered_device *rdev,
        if (nl802154_put_capabilities(msg, rdev))
                goto nla_put_failure;
 
-       nl_cmds = nla_nest_start(msg, NL802154_ATTR_SUPPORTED_COMMANDS);
+       nl_cmds = nla_nest_start_noflag(msg, NL802154_ATTR_SUPPORTED_COMMANDS);
        if (!nl_cmds)
                goto nla_put_failure;
 
@@ -693,7 +694,8 @@ ieee802154_llsec_send_key_id(struct sk_buff *msg,
 
        switch (desc->mode) {
        case NL802154_KEY_ID_MODE_IMPLICIT:
-               nl_dev_addr = nla_nest_start(msg, NL802154_KEY_ID_ATTR_IMPLICIT);
+               nl_dev_addr = nla_nest_start_noflag(msg,
+                                                   NL802154_KEY_ID_ATTR_IMPLICIT);
                if (!nl_dev_addr)
                        return -ENOBUFS;
 
@@ -768,7 +770,7 @@ static int nl802154_get_llsec_params(struct sk_buff *msg,
                         params.frame_counter))
                return -ENOBUFS;
 
-       nl_key_id = nla_nest_start(msg, NL802154_ATTR_SEC_OUT_KEY_ID);
+       nl_key_id = nla_nest_start_noflag(msg, NL802154_ATTR_SEC_OUT_KEY_ID);
        if (!nl_key_id)
                return -ENOBUFS;
 
@@ -1455,11 +1457,11 @@ static int nl802154_send_key(struct sk_buff *msg, u32 cmd, u32 portid,
        if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex))
                goto nla_put_failure;
 
-       nl_key = nla_nest_start(msg, NL802154_ATTR_SEC_KEY);
+       nl_key = nla_nest_start_noflag(msg, NL802154_ATTR_SEC_KEY);
        if (!nl_key)
                goto nla_put_failure;
 
-       nl_key_id = nla_nest_start(msg, NL802154_KEY_ATTR_ID);
+       nl_key_id = nla_nest_start_noflag(msg, NL802154_KEY_ATTR_ID);
        if (!nl_key_id)
                goto nla_put_failure;
 
@@ -1639,7 +1641,7 @@ static int nl802154_send_device(struct sk_buff *msg, u32 cmd, u32 portid,
        if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex))
                goto nla_put_failure;
 
-       nl_device = nla_nest_start(msg, NL802154_ATTR_SEC_DEVICE);
+       nl_device = nla_nest_start_noflag(msg, NL802154_ATTR_SEC_DEVICE);
        if (!nl_device)
                goto nla_put_failure;
 
@@ -1808,7 +1810,7 @@ static int nl802154_send_devkey(struct sk_buff *msg, u32 cmd, u32 portid,
        if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex))
                goto nla_put_failure;
 
-       nl_devkey = nla_nest_start(msg, NL802154_ATTR_SEC_DEVKEY);
+       nl_devkey = nla_nest_start_noflag(msg, NL802154_ATTR_SEC_DEVKEY);
        if (!nl_devkey)
                goto nla_put_failure;
 
@@ -1818,7 +1820,7 @@ static int nl802154_send_devkey(struct sk_buff *msg, u32 cmd, u32 portid,
                        devkey->frame_counter))
                goto nla_put_failure;
 
-       nl_key_id = nla_nest_start(msg, NL802154_DEVKEY_ATTR_ID);
+       nl_key_id = nla_nest_start_noflag(msg, NL802154_DEVKEY_ATTR_ID);
        if (!nl_key_id)
                goto nla_put_failure;
 
@@ -1976,7 +1978,7 @@ static int nl802154_send_seclevel(struct sk_buff *msg, u32 cmd, u32 portid,
        if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex))
                goto nla_put_failure;
 
-       nl_seclevel = nla_nest_start(msg, NL802154_ATTR_SEC_LEVEL);
+       nl_seclevel = nla_nest_start_noflag(msg, NL802154_ATTR_SEC_LEVEL);
        if (!nl_seclevel)
                goto nla_put_failure;
 
index 4336f1ec8ab06cf6b06bdcd75881927bfd6f5a99..71c2165a2ce3cb03eddd0f6d5a45bb8b219f2eb8 100644 (file)
@@ -1550,7 +1550,7 @@ static int fib_add_multipath(struct sk_buff *skb, struct fib_info *fi)
 {
        struct nlattr *mp;
 
-       mp = nla_nest_start(skb, RTA_MULTIPATH);
+       mp = nla_nest_start_noflag(skb, RTA_MULTIPATH);
        if (!mp)
                goto nla_put_failure;
 
index a8eb97777c0ac1517bd0ad168584b9e511b3f7b8..1322573b82282ade6d832a2d32bfbc92b8a5828b 100644 (file)
@@ -2783,7 +2783,7 @@ static bool ipmr_fill_vif(struct mr_table *mrt, u32 vifid, struct sk_buff *skb)
                return true;
 
        vif = &mrt->vif_table[vifid];
-       vif_nest = nla_nest_start(skb, IPMRA_VIF);
+       vif_nest = nla_nest_start_noflag(skb, IPMRA_VIF);
        if (!vif_nest)
                return false;
        if (nla_put_u32(skb, IPMRA_VIFA_IFINDEX, vif->dev->ifindex) ||
@@ -2867,7 +2867,7 @@ static int ipmr_rtm_dumplink(struct sk_buff *skb, struct netlink_callback *cb)
                memset(hdr, 0, sizeof(*hdr));
                hdr->ifi_family = RTNL_FAMILY_IPMR;
 
-               af = nla_nest_start(skb, IFLA_AF_SPEC);
+               af = nla_nest_start_noflag(skb, IFLA_AF_SPEC);
                if (!af) {
                        nlmsg_cancel(skb, nlh);
                        goto out;
@@ -2878,7 +2878,7 @@ static int ipmr_rtm_dumplink(struct sk_buff *skb, struct netlink_callback *cb)
                        goto out;
                }
 
-               vifs = nla_nest_start(skb, IPMRA_TABLE_VIFS);
+               vifs = nla_nest_start_noflag(skb, IPMRA_TABLE_VIFS);
                if (!vifs) {
                        nla_nest_end(skb, af);
                        nlmsg_end(skb, nlh);
index 3e614cc824f77948493a7867009591b3b09a0179..278834d4babc4f4904f772ca85ced867fb9f9bdf 100644 (file)
@@ -228,7 +228,7 @@ int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
        if (c->mfc_flags & MFC_OFFLOAD)
                rtm->rtm_flags |= RTNH_F_OFFLOAD;
 
-       mp_attr = nla_nest_start(skb, RTA_MULTIPATH);
+       mp_attr = nla_nest_start_noflag(skb, RTA_MULTIPATH);
        if (!mp_attr)
                return -EMSGSIZE;
 
index 4ccec4c705f7907a17fb26082dc9bf878862074e..9a08bfb0672c13886e887385ef1182d6ca7c3362 100644 (file)
@@ -658,7 +658,7 @@ static int tcp_metrics_fill_info(struct sk_buff *msg,
        {
                int n = 0;
 
-               nest = nla_nest_start(msg, TCP_METRICS_ATTR_VALS);
+               nest = nla_nest_start_noflag(msg, TCP_METRICS_ATTR_VALS);
                if (!nest)
                        goto nla_put_failure;
                for (i = 0; i < TCP_METRIC_MAX_KERNEL + 1; i++) {
index 340a0f06f97434d0c0621c1dea5477b4aa418821..01f081aa718ce59faf701dec39c20f7f629c6a99 100644 (file)
@@ -5752,7 +5752,7 @@ static int inet6_fill_ifinfo(struct sk_buff *skb, struct inet6_dev *idev,
            nla_put_u8(skb, IFLA_OPERSTATE,
                       netif_running(dev) ? dev->operstate : IF_OPER_DOWN))
                goto nla_put_failure;
-       protoinfo = nla_nest_start(skb, IFLA_PROTINFO);
+       protoinfo = nla_nest_start_noflag(skb, IFLA_PROTINFO);
        if (!protoinfo)
                goto nla_put_failure;
 
index 9c0127a44f9f0ded4ba7ee4b6389fc9f67bf42ad..e2b47f47de92a4bf0b9745ce2e8078a79edffda4 100644 (file)
@@ -4777,7 +4777,7 @@ static int rt6_fill_node(struct net *net, struct sk_buff *skb,
                struct fib6_info *sibling, *next_sibling;
                struct nlattr *mp;
 
-               mp = nla_nest_start(skb, RTA_MULTIPATH);
+               mp = nla_nest_start_noflag(skb, RTA_MULTIPATH);
                if (!mp)
                        goto nla_put_failure;
 
index 60325dbfe88b0ca8ffb08cc89666642c52739480..67005ac71341c65745da448b5c4068fa6ed2fca0 100644 (file)
@@ -853,7 +853,7 @@ static int put_nla_bpf(struct sk_buff *skb, struct seg6_local_lwt *slwt)
        if (!slwt->bpf.prog)
                return 0;
 
-       nest = nla_nest_start(skb, SEG6_LOCAL_BPF);
+       nest = nla_nest_start_noflag(skb, SEG6_LOCAL_BPF);
        if (!nest)
                return -EMSGSIZE;
 
index 77595fcc9f7585d111986f15f19b49f7d1544afe..c31b50cc48d94763b584f13c2be0b8a32aaf0e03 100644 (file)
@@ -345,7 +345,7 @@ static int l2tp_nl_tunnel_send(struct sk_buff *skb, u32 portid, u32 seq, int fla
            nla_put_u16(skb, L2TP_ATTR_ENCAP_TYPE, tunnel->encap))
                goto nla_put_failure;
 
-       nest = nla_nest_start(skb, L2TP_ATTR_STATS);
+       nest = nla_nest_start_noflag(skb, L2TP_ATTR_STATS);
        if (nest == NULL)
                goto nla_put_failure;
 
@@ -742,7 +742,7 @@ static int l2tp_nl_session_send(struct sk_buff *skb, u32 portid, u32 seq, int fl
                           session->reorder_timeout, L2TP_ATTR_PAD)))
                goto nla_put_failure;
 
-       nest = nla_nest_start(skb, L2TP_ATTR_STATS);
+       nest = nla_nest_start_noflag(skb, L2TP_ATTR_STATS);
        if (nest == NULL)
                goto nla_put_failure;
 
index e321a5fafb8790c59537ad9e9242ab249a1112bd..01f8a4f978720f4b3bc6f809c57320471738945f 100644 (file)
@@ -2017,7 +2017,7 @@ static int mpls_dump_route(struct sk_buff *skb, u32 portid, u32 seq, int event,
                u8 linkdown = 0;
                u8 dead = 0;
 
-               mp = nla_nest_start(skb, RTA_MULTIPATH);
+               mp = nla_nest_start_noflag(skb, RTA_MULTIPATH);
                if (!mp)
                        goto nla_put_failure;
 
index 367b2f6513e0d9aeac1c60d1e2345c8989734274..672ed56b5ef0073ade7d2d84f071d277f5091eab 100644 (file)
@@ -79,7 +79,7 @@ static int ncsi_write_channel_info(struct sk_buff *skb,
        nla_put_u32(skb, NCSI_CHANNEL_ATTR_VERSION_MINOR, nc->version.alpha2);
        nla_put_string(skb, NCSI_CHANNEL_ATTR_VERSION_STR, nc->version.fw_name);
 
-       vid_nest = nla_nest_start(skb, NCSI_CHANNEL_ATTR_VLAN_LIST);
+       vid_nest = nla_nest_start_noflag(skb, NCSI_CHANNEL_ATTR_VLAN_LIST);
        if (!vid_nest)
                return -ENOMEM;
        ncf = &nc->vlan_filter;
@@ -113,19 +113,19 @@ static int ncsi_write_package_info(struct sk_buff *skb,
        NCSI_FOR_EACH_PACKAGE(ndp, np) {
                if (np->id != id)
                        continue;
-               pnest = nla_nest_start(skb, NCSI_PKG_ATTR);
+               pnest = nla_nest_start_noflag(skb, NCSI_PKG_ATTR);
                if (!pnest)
                        return -ENOMEM;
                nla_put_u32(skb, NCSI_PKG_ATTR_ID, np->id);
                if ((0x1 << np->id) == ndp->package_whitelist)
                        nla_put_flag(skb, NCSI_PKG_ATTR_FORCED);
-               cnest = nla_nest_start(skb, NCSI_PKG_ATTR_CHANNEL_LIST);
+               cnest = nla_nest_start_noflag(skb, NCSI_PKG_ATTR_CHANNEL_LIST);
                if (!cnest) {
                        nla_nest_cancel(skb, pnest);
                        return -ENOMEM;
                }
                NCSI_FOR_EACH_CHANNEL(np, nc) {
-                       nest = nla_nest_start(skb, NCSI_CHANNEL_ATTR);
+                       nest = nla_nest_start_noflag(skb, NCSI_CHANNEL_ATTR);
                        if (!nest) {
                                nla_nest_cancel(skb, cnest);
                                nla_nest_cancel(skb, pnest);
@@ -187,7 +187,7 @@ static int ncsi_pkg_info_nl(struct sk_buff *msg, struct genl_info *info)
 
        package_id = nla_get_u32(info->attrs[NCSI_ATTR_PACKAGE_ID]);
 
-       attr = nla_nest_start(skb, NCSI_ATTR_PACKAGE_LIST);
+       attr = nla_nest_start_noflag(skb, NCSI_ATTR_PACKAGE_LIST);
        if (!attr) {
                kfree_skb(skb);
                return -EMSGSIZE;
@@ -250,7 +250,7 @@ static int ncsi_pkg_info_all_nl(struct sk_buff *skb,
                goto err;
        }
 
-       attr = nla_nest_start(skb, NCSI_ATTR_PACKAGE_LIST);
+       attr = nla_nest_start_noflag(skb, NCSI_ATTR_PACKAGE_LIST);
        if (!attr) {
                rc = -EMSGSIZE;
                goto err;
index ab119a7540db0fbed2e0c3cdbcc93af1160bfe29..39892e5d38a28b55b56544496c945dbbd634efd5 100644 (file)
@@ -2916,7 +2916,7 @@ static const struct nla_policy ip_vs_dest_policy[IPVS_DEST_ATTR_MAX + 1] = {
 static int ip_vs_genl_fill_stats(struct sk_buff *skb, int container_type,
                                 struct ip_vs_kstats *kstats)
 {
-       struct nlattr *nl_stats = nla_nest_start(skb, container_type);
+       struct nlattr *nl_stats = nla_nest_start_noflag(skb, container_type);
 
        if (!nl_stats)
                return -EMSGSIZE;
@@ -2946,7 +2946,7 @@ nla_put_failure:
 static int ip_vs_genl_fill_stats64(struct sk_buff *skb, int container_type,
                                   struct ip_vs_kstats *kstats)
 {
-       struct nlattr *nl_stats = nla_nest_start(skb, container_type);
+       struct nlattr *nl_stats = nla_nest_start_noflag(skb, container_type);
 
        if (!nl_stats)
                return -EMSGSIZE;
@@ -2992,7 +2992,7 @@ static int ip_vs_genl_fill_service(struct sk_buff *skb,
        struct ip_vs_kstats kstats;
        char *sched_name;
 
-       nl_service = nla_nest_start(skb, IPVS_CMD_ATTR_SERVICE);
+       nl_service = nla_nest_start_noflag(skb, IPVS_CMD_ATTR_SERVICE);
        if (!nl_service)
                return -EMSGSIZE;
 
@@ -3203,7 +3203,7 @@ static int ip_vs_genl_fill_dest(struct sk_buff *skb, struct ip_vs_dest *dest)
        struct nlattr *nl_dest;
        struct ip_vs_kstats kstats;
 
-       nl_dest = nla_nest_start(skb, IPVS_CMD_ATTR_DEST);
+       nl_dest = nla_nest_start_noflag(skb, IPVS_CMD_ATTR_DEST);
        if (!nl_dest)
                return -EMSGSIZE;
 
@@ -3373,7 +3373,7 @@ static int ip_vs_genl_fill_daemon(struct sk_buff *skb, __u32 state,
 {
        struct nlattr *nl_daemon;
 
-       nl_daemon = nla_nest_start(skb, IPVS_CMD_ATTR_DAEMON);
+       nl_daemon = nla_nest_start_noflag(skb, IPVS_CMD_ATTR_DAEMON);
        if (!nl_daemon)
                return -EMSGSIZE;
 
index d547a777192f237a149aa65c102348050ae69b26..148b99a15b21d47b25fd280d3e2c52fe9feb5839 100644 (file)
@@ -63,7 +63,7 @@ static int ctnetlink_dump_tuples_proto(struct sk_buff *skb,
        int ret = 0;
        struct nlattr *nest_parms;
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_PROTO | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_PROTO);
        if (!nest_parms)
                goto nla_put_failure;
        if (nla_put_u8(skb, CTA_PROTO_NUM, tuple->dst.protonum))
@@ -104,7 +104,7 @@ static int ctnetlink_dump_tuples_ip(struct sk_buff *skb,
        int ret = 0;
        struct nlattr *nest_parms;
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_IP | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_IP);
        if (!nest_parms)
                goto nla_put_failure;
 
@@ -187,7 +187,7 @@ static int ctnetlink_dump_protoinfo(struct sk_buff *skb, struct nf_conn *ct)
        if (!l4proto->to_nlattr)
                return 0;
 
-       nest_proto = nla_nest_start(skb, CTA_PROTOINFO | NLA_F_NESTED);
+       nest_proto = nla_nest_start(skb, CTA_PROTOINFO);
        if (!nest_proto)
                goto nla_put_failure;
 
@@ -215,7 +215,7 @@ static int ctnetlink_dump_helpinfo(struct sk_buff *skb,
        if (!helper)
                goto out;
 
-       nest_helper = nla_nest_start(skb, CTA_HELP | NLA_F_NESTED);
+       nest_helper = nla_nest_start(skb, CTA_HELP);
        if (!nest_helper)
                goto nla_put_failure;
        if (nla_put_string(skb, CTA_HELP_NAME, helper->name))
@@ -249,7 +249,7 @@ dump_counters(struct sk_buff *skb, struct nf_conn_acct *acct,
                bytes = atomic64_read(&counter[dir].bytes);
        }
 
-       nest_count = nla_nest_start(skb, attr | NLA_F_NESTED);
+       nest_count = nla_nest_start(skb, attr);
        if (!nest_count)
                goto nla_put_failure;
 
@@ -293,7 +293,7 @@ ctnetlink_dump_timestamp(struct sk_buff *skb, const struct nf_conn *ct)
        if (!tstamp)
                return 0;
 
-       nest_count = nla_nest_start(skb, CTA_TIMESTAMP | NLA_F_NESTED);
+       nest_count = nla_nest_start(skb, CTA_TIMESTAMP);
        if (!nest_count)
                goto nla_put_failure;
 
@@ -337,7 +337,7 @@ static int ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct)
                return 0;
 
        ret = -1;
-       nest_secctx = nla_nest_start(skb, CTA_SECCTX | NLA_F_NESTED);
+       nest_secctx = nla_nest_start(skb, CTA_SECCTX);
        if (!nest_secctx)
                goto nla_put_failure;
 
@@ -397,7 +397,7 @@ static int ctnetlink_dump_master(struct sk_buff *skb, const struct nf_conn *ct)
        if (!(ct->status & IPS_EXPECTED))
                return 0;
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_MASTER | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_MASTER);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, master_tuple(ct)) < 0)
@@ -415,7 +415,7 @@ dump_ct_seq_adj(struct sk_buff *skb, const struct nf_ct_seqadj *seq, int type)
 {
        struct nlattr *nest_parms;
 
-       nest_parms = nla_nest_start(skb, type | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, type);
        if (!nest_parms)
                goto nla_put_failure;
 
@@ -467,7 +467,7 @@ static int ctnetlink_dump_ct_synproxy(struct sk_buff *skb, struct nf_conn *ct)
        if (!synproxy)
                return 0;
 
-       nest_parms = nla_nest_start(skb, CTA_SYNPROXY | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_SYNPROXY);
        if (!nest_parms)
                goto nla_put_failure;
 
@@ -528,7 +528,7 @@ ctnetlink_fill_info(struct sk_buff *skb, u32 portid, u32 seq, u32 type,
 
        zone = nf_ct_zone(ct);
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_ORIG | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_ORIG);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, nf_ct_tuple(ct, IP_CT_DIR_ORIGINAL)) < 0)
@@ -538,7 +538,7 @@ ctnetlink_fill_info(struct sk_buff *skb, u32 portid, u32 seq, u32 type,
                goto nla_put_failure;
        nla_nest_end(skb, nest_parms);
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_REPLY | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_REPLY);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, nf_ct_tuple(ct, IP_CT_DIR_REPLY)) < 0)
@@ -720,7 +720,7 @@ ctnetlink_conntrack_event(unsigned int events, struct nf_ct_event *item)
 
        zone = nf_ct_zone(ct);
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_ORIG | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_ORIG);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, nf_ct_tuple(ct, IP_CT_DIR_ORIGINAL)) < 0)
@@ -730,7 +730,7 @@ ctnetlink_conntrack_event(unsigned int events, struct nf_ct_event *item)
                goto nla_put_failure;
        nla_nest_end(skb, nest_parms);
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_REPLY | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_REPLY);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, nf_ct_tuple(ct, IP_CT_DIR_REPLY)) < 0)
@@ -2400,7 +2400,7 @@ static int __ctnetlink_glue_build(struct sk_buff *skb, struct nf_conn *ct)
 
        zone = nf_ct_zone(ct);
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_ORIG | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_ORIG);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, nf_ct_tuple(ct, IP_CT_DIR_ORIGINAL)) < 0)
@@ -2410,7 +2410,7 @@ static int __ctnetlink_glue_build(struct sk_buff *skb, struct nf_conn *ct)
                goto nla_put_failure;
        nla_nest_end(skb, nest_parms);
 
-       nest_parms = nla_nest_start(skb, CTA_TUPLE_REPLY | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TUPLE_REPLY);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, nf_ct_tuple(ct, IP_CT_DIR_REPLY)) < 0)
@@ -2472,7 +2472,7 @@ ctnetlink_glue_build(struct sk_buff *skb, struct nf_conn *ct,
 {
        struct nlattr *nest_parms;
 
-       nest_parms = nla_nest_start(skb, ct_attr | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, ct_attr);
        if (!nest_parms)
                goto nla_put_failure;
 
@@ -2644,7 +2644,7 @@ static int ctnetlink_exp_dump_tuple(struct sk_buff *skb,
 {
        struct nlattr *nest_parms;
 
-       nest_parms = nla_nest_start(skb, type | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, type);
        if (!nest_parms)
                goto nla_put_failure;
        if (ctnetlink_dump_tuples(skb, tuple) < 0)
@@ -2671,7 +2671,7 @@ static int ctnetlink_exp_dump_mask(struct sk_buff *skb,
        m.src.u.all = mask->src.u.all;
        m.dst.protonum = tuple->dst.protonum;
 
-       nest_parms = nla_nest_start(skb, CTA_EXPECT_MASK | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_EXPECT_MASK);
        if (!nest_parms)
                goto nla_put_failure;
 
@@ -2743,7 +2743,7 @@ ctnetlink_exp_dump_expect(struct sk_buff *skb,
 #if IS_ENABLED(CONFIG_NF_NAT)
        if (!nf_inet_addr_cmp(&exp->saved_addr, &any_addr) ||
            exp->saved_proto.all) {
-               nest_parms = nla_nest_start(skb, CTA_EXPECT_NAT | NLA_F_NESTED);
+               nest_parms = nla_nest_start(skb, CTA_EXPECT_NAT);
                if (!nest_parms)
                        goto nla_put_failure;
 
index 6fca805875051282f6aefae37565f36dcb4cfa3f..a4deddebec0aceef77d50f843abf8b32d019abed 100644 (file)
@@ -598,7 +598,7 @@ static int dccp_to_nlattr(struct sk_buff *skb, struct nlattr *nla,
        struct nlattr *nest_parms;
 
        spin_lock_bh(&ct->lock);
-       nest_parms = nla_nest_start(skb, CTA_PROTOINFO_DCCP | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_PROTOINFO_DCCP);
        if (!nest_parms)
                goto nla_put_failure;
        if (nla_put_u8(skb, CTA_PROTOINFO_DCCP_STATE, ct->proto.dccp.state) ||
index a7818101ad806a8b89741ed0d465afb432d62e39..8cf36b684400b96709f61c73752048aa2030ae92 100644 (file)
@@ -520,7 +520,7 @@ static int sctp_to_nlattr(struct sk_buff *skb, struct nlattr *nla,
        struct nlattr *nest_parms;
 
        spin_lock_bh(&ct->lock);
-       nest_parms = nla_nest_start(skb, CTA_PROTOINFO_SCTP | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_PROTOINFO_SCTP);
        if (!nest_parms)
                goto nla_put_failure;
 
index a06875a466a49a34b637137666f6500b4492bc3d..ec6c3618333d5c40b109f0292fd3c2a94aac1b0f 100644 (file)
@@ -1192,7 +1192,7 @@ static int tcp_to_nlattr(struct sk_buff *skb, struct nlattr *nla,
        struct nf_ct_tcp_flags tmp = {};
 
        spin_lock_bh(&ct->lock);
-       nest_parms = nla_nest_start(skb, CTA_PROTOINFO_TCP | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_PROTOINFO_TCP);
        if (!nest_parms)
                goto nla_put_failure;
 
index 9d888dc6be388d6e8bcffd4b5947757bb2bdff3c..2b79c250ecb41fc27bbe8200893437e7d1a60a57 100644 (file)
@@ -1200,7 +1200,7 @@ static int nft_dump_stats(struct sk_buff *skb, struct nft_stats __percpu *stats)
                total.pkts += pkts;
                total.bytes += bytes;
        }
-       nest = nla_nest_start(skb, NFTA_CHAIN_COUNTERS);
+       nest = nla_nest_start_noflag(skb, NFTA_CHAIN_COUNTERS);
        if (nest == NULL)
                goto nla_put_failure;
 
@@ -1248,7 +1248,7 @@ static int nf_tables_fill_chain_info(struct sk_buff *skb, struct net *net,
                const struct nf_hook_ops *ops = &basechain->ops;
                struct nlattr *nest;
 
-               nest = nla_nest_start(skb, NFTA_CHAIN_HOOK);
+               nest = nla_nest_start_noflag(skb, NFTA_CHAIN_HOOK);
                if (nest == NULL)
                        goto nla_put_failure;
                if (nla_put_be32(skb, NFTA_HOOK_HOOKNUM, htonl(ops->hooknum)))
@@ -2059,7 +2059,8 @@ static int nf_tables_fill_expr_info(struct sk_buff *skb,
                goto nla_put_failure;
 
        if (expr->ops->dump) {
-               struct nlattr *data = nla_nest_start(skb, NFTA_EXPR_DATA);
+               struct nlattr *data = nla_nest_start_noflag(skb,
+                                                           NFTA_EXPR_DATA);
                if (data == NULL)
                        goto nla_put_failure;
                if (expr->ops->dump(skb, expr) < 0)
@@ -2078,7 +2079,7 @@ int nft_expr_dump(struct sk_buff *skb, unsigned int attr,
 {
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, attr);
+       nest = nla_nest_start_noflag(skb, attr);
        if (!nest)
                goto nla_put_failure;
        if (nf_tables_fill_expr_info(skb, expr) < 0)
@@ -2289,7 +2290,7 @@ static int nf_tables_fill_rule_info(struct sk_buff *skb, struct net *net,
                        goto nla_put_failure;
        }
 
-       list = nla_nest_start(skb, NFTA_RULE_EXPRESSIONS);
+       list = nla_nest_start_noflag(skb, NFTA_RULE_EXPRESSIONS);
        if (list == NULL)
                goto nla_put_failure;
        nft_rule_for_each_expr(expr, next, rule) {
@@ -3258,7 +3259,7 @@ static int nf_tables_fill_set(struct sk_buff *skb, const struct nft_ctx *ctx,
        if (nla_put(skb, NFTA_SET_USERDATA, set->udlen, set->udata))
                goto nla_put_failure;
 
-       desc = nla_nest_start(skb, NFTA_SET_DESC);
+       desc = nla_nest_start_noflag(skb, NFTA_SET_DESC);
        if (desc == NULL)
                goto nla_put_failure;
        if (set->size &&
@@ -3908,7 +3909,7 @@ static int nf_tables_fill_setelem(struct sk_buff *skb,
        unsigned char *b = skb_tail_pointer(skb);
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, NFTA_LIST_ELEM);
+       nest = nla_nest_start_noflag(skb, NFTA_LIST_ELEM);
        if (nest == NULL)
                goto nla_put_failure;
 
@@ -4052,7 +4053,7 @@ static int nf_tables_dump_set(struct sk_buff *skb, struct netlink_callback *cb)
        if (nla_put_string(skb, NFTA_SET_ELEM_LIST_SET, set->name))
                goto nla_put_failure;
 
-       nest = nla_nest_start(skb, NFTA_SET_ELEM_LIST_ELEMENTS);
+       nest = nla_nest_start_noflag(skb, NFTA_SET_ELEM_LIST_ELEMENTS);
        if (nest == NULL)
                goto nla_put_failure;
 
@@ -4124,7 +4125,7 @@ static int nf_tables_fill_setelem_info(struct sk_buff *skb,
        if (nla_put_string(skb, NFTA_SET_NAME, set->name))
                goto nla_put_failure;
 
-       nest = nla_nest_start(skb, NFTA_SET_ELEM_LIST_ELEMENTS);
+       nest = nla_nest_start_noflag(skb, NFTA_SET_ELEM_LIST_ELEMENTS);
        if (nest == NULL)
                goto nla_put_failure;
 
@@ -5014,7 +5015,7 @@ static int nft_object_dump(struct sk_buff *skb, unsigned int attr,
 {
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, attr);
+       nest = nla_nest_start_noflag(skb, attr);
        if (!nest)
                goto nla_put_failure;
        if (obj->ops->dump(skb, obj, reset) < 0)
@@ -5831,14 +5832,14 @@ static int nf_tables_fill_flowtable_info(struct sk_buff *skb, struct net *net,
                         NFTA_FLOWTABLE_PAD))
                goto nla_put_failure;
 
-       nest = nla_nest_start(skb, NFTA_FLOWTABLE_HOOK);
+       nest = nla_nest_start_noflag(skb, NFTA_FLOWTABLE_HOOK);
        if (!nest)
                goto nla_put_failure;
        if (nla_put_be32(skb, NFTA_FLOWTABLE_HOOK_NUM, htonl(flowtable->hooknum)) ||
            nla_put_be32(skb, NFTA_FLOWTABLE_HOOK_PRIORITY, htonl(flowtable->priority)))
                goto nla_put_failure;
 
-       nest_devs = nla_nest_start(skb, NFTA_FLOWTABLE_HOOK_DEVS);
+       nest_devs = nla_nest_start_noflag(skb, NFTA_FLOWTABLE_HOOK_DEVS);
        if (!nest_devs)
                goto nla_put_failure;
 
@@ -7264,7 +7265,7 @@ int nft_verdict_dump(struct sk_buff *skb, int type, const struct nft_verdict *v)
 {
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, type);
+       nest = nla_nest_start_noflag(skb, type);
        if (!nest)
                goto nla_put_failure;
 
@@ -7377,7 +7378,7 @@ int nft_data_dump(struct sk_buff *skb, int attr, const struct nft_data *data,
        struct nlattr *nest;
        int err;
 
-       nest = nla_nest_start(skb, attr);
+       nest = nla_nest_start_noflag(skb, attr);
        if (nest == NULL)
                return -1;
 
index e5d27b2e4ebac9d7256ad53657167e3b87052f94..74c9794d28d62544d85c7774a32706c5361d13f4 100644 (file)
@@ -462,7 +462,7 @@ nfnl_cthelper_dump_tuple(struct sk_buff *skb,
 {
        struct nlattr *nest_parms;
 
-       nest_parms = nla_nest_start(skb, NFCTH_TUPLE | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, NFCTH_TUPLE);
        if (nest_parms == NULL)
                goto nla_put_failure;
 
@@ -487,7 +487,7 @@ nfnl_cthelper_dump_policy(struct sk_buff *skb,
        int i;
        struct nlattr *nest_parms1, *nest_parms2;
 
-       nest_parms1 = nla_nest_start(skb, NFCTH_POLICY | NLA_F_NESTED);
+       nest_parms1 = nla_nest_start(skb, NFCTH_POLICY);
        if (nest_parms1 == NULL)
                goto nla_put_failure;
 
@@ -496,8 +496,7 @@ nfnl_cthelper_dump_policy(struct sk_buff *skb,
                goto nla_put_failure;
 
        for (i = 0; i < helper->expect_class_max + 1; i++) {
-               nest_parms2 = nla_nest_start(skb,
-                               (NFCTH_POLICY_SET+i) | NLA_F_NESTED);
+               nest_parms2 = nla_nest_start(skb, (NFCTH_POLICY_SET + i));
                if (nest_parms2 == NULL)
                        goto nla_put_failure;
 
index c69b11ca5aadb1a075c55f1dfdf10ef8d1edcf25..572cb42e1ee1b445ae908771971020b126519992 100644 (file)
@@ -184,7 +184,7 @@ ctnl_timeout_fill_info(struct sk_buff *skb, u32 portid, u32 seq, u32 type,
                         htonl(refcount_read(&timeout->refcnt))))
                goto nla_put_failure;
 
-       nest_parms = nla_nest_start(skb, CTA_TIMEOUT_DATA | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TIMEOUT_DATA);
        if (!nest_parms)
                goto nla_put_failure;
 
@@ -401,7 +401,7 @@ cttimeout_default_fill_info(struct net *net, struct sk_buff *skb, u32 portid,
            nla_put_u8(skb, CTA_TIMEOUT_L4PROTO, l4proto->l4proto))
                goto nla_put_failure;
 
-       nest_parms = nla_nest_start(skb, CTA_TIMEOUT_DATA | NLA_F_NESTED);
+       nest_parms = nla_nest_start(skb, CTA_TIMEOUT_DATA);
        if (!nest_parms)
                goto nla_put_failure;
 
index e057b2961d313cd426f2f2d37ed7e1a40c101174..be7d53943e2d7f960493d2c365765ccfce870d32 100644 (file)
@@ -351,7 +351,7 @@ static int nfqnl_put_bridge(struct nf_queue_entry *entry, struct sk_buff *skb)
        if (skb_vlan_tag_present(entskb)) {
                struct nlattr *nest;
 
-               nest = nla_nest_start(skb, NFQA_VLAN | NLA_F_NESTED);
+               nest = nla_nest_start(skb, NFQA_VLAN);
                if (!nest)
                        goto nla_put_failure;
 
index 7b717fad6cdc8ebbd70cb68bb212c3cb51a93733..1738ef6dcb56dd2a66baefeee76c55ad780c64ae 100644 (file)
@@ -928,7 +928,7 @@ static int nft_ct_timeout_obj_dump(struct sk_buff *skb,
            nla_put_be16(skb, NFTA_CT_TIMEOUT_L3PROTO, htons(timeout->l3num)))
                return -1;
 
-       nest_params = nla_nest_start(skb, NFTA_CT_TIMEOUT_DATA | NLA_F_NESTED);
+       nest_params = nla_nest_start(skb, NFTA_CT_TIMEOUT_DATA);
        if (!nest_params)
                return -1;
 
index b113fcac94e1c46be2fae6dd3eec2c5cbb19f40a..66b52d015763f5f18f968e0179fe782dcc099615 100644 (file)
@@ -437,7 +437,7 @@ static int nft_tunnel_ip_dump(struct sk_buff *skb, struct ip_tunnel_info *info)
        struct nlattr *nest;
 
        if (info->mode & IP_TUNNEL_INFO_IPV6) {
-               nest = nla_nest_start(skb, NFTA_TUNNEL_KEY_IP6);
+               nest = nla_nest_start_noflag(skb, NFTA_TUNNEL_KEY_IP6);
                if (!nest)
                        return -1;
 
@@ -448,7 +448,7 @@ static int nft_tunnel_ip_dump(struct sk_buff *skb, struct ip_tunnel_info *info)
 
                nla_nest_end(skb, nest);
        } else {
-               nest = nla_nest_start(skb, NFTA_TUNNEL_KEY_IP);
+               nest = nla_nest_start_noflag(skb, NFTA_TUNNEL_KEY_IP);
                if (!nest)
                        return -1;
 
@@ -468,7 +468,7 @@ static int nft_tunnel_opts_dump(struct sk_buff *skb,
        struct nft_tunnel_opts *opts = &priv->opts;
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, NFTA_TUNNEL_KEY_OPTS);
+       nest = nla_nest_start_noflag(skb, NFTA_TUNNEL_KEY_OPTS);
        if (!nest)
                return -1;
 
index ba7800f94cccea6d90c37f195870f7eadb474d90..c9775658fb9805c82dd6484d28ce54153f621af9 100644 (file)
@@ -498,7 +498,7 @@ list_start:
        if (ret_val != 0)
                goto list_failure_lock;
 
-       nla_a = nla_nest_start(ans_skb, NLBL_CIPSOV4_A_TAGLST);
+       nla_a = nla_nest_start_noflag(ans_skb, NLBL_CIPSOV4_A_TAGLST);
        if (nla_a == NULL) {
                ret_val = -ENOMEM;
                goto list_failure_lock;
@@ -517,7 +517,8 @@ list_start:
 
        switch (doi_def->type) {
        case CIPSO_V4_MAP_TRANS:
-               nla_a = nla_nest_start(ans_skb, NLBL_CIPSOV4_A_MLSLVLLST);
+               nla_a = nla_nest_start_noflag(ans_skb,
+                                             NLBL_CIPSOV4_A_MLSLVLLST);
                if (nla_a == NULL) {
                        ret_val = -ENOMEM;
                        goto list_failure_lock;
@@ -529,7 +530,8 @@ list_start:
                            CIPSO_V4_INV_LVL)
                                continue;
 
-                       nla_b = nla_nest_start(ans_skb, NLBL_CIPSOV4_A_MLSLVL);
+                       nla_b = nla_nest_start_noflag(ans_skb,
+                                                     NLBL_CIPSOV4_A_MLSLVL);
                        if (nla_b == NULL) {
                                ret_val = -ENOMEM;
                                goto list_retry;
@@ -548,7 +550,8 @@ list_start:
                }
                nla_nest_end(ans_skb, nla_a);
 
-               nla_a = nla_nest_start(ans_skb, NLBL_CIPSOV4_A_MLSCATLST);
+               nla_a = nla_nest_start_noflag(ans_skb,
+                                             NLBL_CIPSOV4_A_MLSCATLST);
                if (nla_a == NULL) {
                        ret_val = -ENOMEM;
                        goto list_retry;
@@ -560,7 +563,8 @@ list_start:
                            CIPSO_V4_INV_CAT)
                                continue;
 
-                       nla_b = nla_nest_start(ans_skb, NLBL_CIPSOV4_A_MLSCAT);
+                       nla_b = nla_nest_start_noflag(ans_skb,
+                                                     NLBL_CIPSOV4_A_MLSCAT);
                        if (nla_b == NULL) {
                                ret_val = -ENOMEM;
                                goto list_retry;
index a16eacfb223680d02c6936078a4f5c5889750ff1..c6c8a101f2ff03eb643b53b29d742ffefd237d32 100644 (file)
@@ -315,7 +315,7 @@ static int netlbl_mgmt_listentry(struct sk_buff *skb,
 
        switch (entry->def.type) {
        case NETLBL_NLTYPE_ADDRSELECT:
-               nla_a = nla_nest_start(skb, NLBL_MGMT_A_SELECTORLIST);
+               nla_a = nla_nest_start_noflag(skb, NLBL_MGMT_A_SELECTORLIST);
                if (nla_a == NULL)
                        return -ENOMEM;
 
@@ -323,7 +323,8 @@ static int netlbl_mgmt_listentry(struct sk_buff *skb,
                        struct netlbl_domaddr4_map *map4;
                        struct in_addr addr_struct;
 
-                       nla_b = nla_nest_start(skb, NLBL_MGMT_A_ADDRSELECTOR);
+                       nla_b = nla_nest_start_noflag(skb,
+                                                     NLBL_MGMT_A_ADDRSELECTOR);
                        if (nla_b == NULL)
                                return -ENOMEM;
 
@@ -357,7 +358,8 @@ static int netlbl_mgmt_listentry(struct sk_buff *skb,
                netlbl_af6list_foreach_rcu(iter6, &entry->def.addrsel->list6) {
                        struct netlbl_domaddr6_map *map6;
 
-                       nla_b = nla_nest_start(skb, NLBL_MGMT_A_ADDRSELECTOR);
+                       nla_b = nla_nest_start_noflag(skb,
+                                                     NLBL_MGMT_A_ADDRSELECTOR);
                        if (nla_b == NULL)
                                return -ENOMEM;
 
index 288456090710ad883bf1fedcee3a9ffd0cfcf52e..83e876591f6cfd77fcc4795cd4411659f8bba338 100644 (file)
@@ -665,7 +665,7 @@ static int ctrl_fill_info(const struct genl_family *family, u32 portid, u32 seq,
                struct nlattr *nla_ops;
                int i;
 
-               nla_ops = nla_nest_start(skb, CTRL_ATTR_OPS);
+               nla_ops = nla_nest_start_noflag(skb, CTRL_ATTR_OPS);
                if (nla_ops == NULL)
                        goto nla_put_failure;
 
@@ -681,7 +681,7 @@ static int ctrl_fill_info(const struct genl_family *family, u32 portid, u32 seq,
                        if (family->policy)
                                op_flags |= GENL_CMD_CAP_HASPOL;
 
-                       nest = nla_nest_start(skb, i + 1);
+                       nest = nla_nest_start_noflag(skb, i + 1);
                        if (nest == NULL)
                                goto nla_put_failure;
 
@@ -699,7 +699,7 @@ static int ctrl_fill_info(const struct genl_family *family, u32 portid, u32 seq,
                struct nlattr *nla_grps;
                int i;
 
-               nla_grps = nla_nest_start(skb, CTRL_ATTR_MCAST_GROUPS);
+               nla_grps = nla_nest_start_noflag(skb, CTRL_ATTR_MCAST_GROUPS);
                if (nla_grps == NULL)
                        goto nla_put_failure;
 
@@ -709,7 +709,7 @@ static int ctrl_fill_info(const struct genl_family *family, u32 portid, u32 seq,
 
                        grp = &family->mcgrps[i];
 
-                       nest = nla_nest_start(skb, i + 1);
+                       nest = nla_nest_start_noflag(skb, i + 1);
                        if (nest == NULL)
                                goto nla_put_failure;
 
@@ -749,11 +749,11 @@ static int ctrl_fill_mcgrp_info(const struct genl_family *family,
            nla_put_u16(skb, CTRL_ATTR_FAMILY_ID, family->id))
                goto nla_put_failure;
 
-       nla_grps = nla_nest_start(skb, CTRL_ATTR_MCAST_GROUPS);
+       nla_grps = nla_nest_start_noflag(skb, CTRL_ATTR_MCAST_GROUPS);
        if (nla_grps == NULL)
                goto nla_put_failure;
 
-       nest = nla_nest_start(skb, 1);
+       nest = nla_nest_start_noflag(skb, 1);
        if (nest == NULL)
                goto nla_put_failure;
 
index 4d9f3ac8d5624c43496e4c13d1eaf72218a00f00..f91ce7c8274690e6e1b7cebc561fcd7d8a13e311 100644 (file)
@@ -392,7 +392,7 @@ int nfc_genl_llc_send_sdres(struct nfc_dev *dev, struct hlist_head *sdres_list)
        if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx))
                goto nla_put_failure;
 
-       sdp_attr = nla_nest_start(msg, NFC_ATTR_LLC_SDP);
+       sdp_attr = nla_nest_start_noflag(msg, NFC_ATTR_LLC_SDP);
        if (sdp_attr == NULL) {
                rc = -ENOMEM;
                goto nla_put_failure;
@@ -402,7 +402,7 @@ int nfc_genl_llc_send_sdres(struct nfc_dev *dev, struct hlist_head *sdres_list)
        hlist_for_each_entry_safe(sdres, n, sdres_list, node) {
                pr_debug("uri: %s, sap: %d\n", sdres->uri, sdres->sap);
 
-               uri_attr = nla_nest_start(msg, i++);
+               uri_attr = nla_nest_start_noflag(msg, i++);
                if (uri_attr == NULL) {
                        rc = -ENOMEM;
                        goto nla_put_failure;
index 6266299444500a83f31ec16101ef977da484f7a3..ff8baf810bb3af3a8d608872371de2b36d36564e 100644 (file)
@@ -1683,7 +1683,7 @@ static bool ovs_ct_nat_to_attr(const struct ovs_conntrack_info *info,
 {
        struct nlattr *start;
 
-       start = nla_nest_start(skb, OVS_CT_ATTR_NAT);
+       start = nla_nest_start_noflag(skb, OVS_CT_ATTR_NAT);
        if (!start)
                return false;
 
@@ -1750,7 +1750,7 @@ int ovs_ct_action_to_attr(const struct ovs_conntrack_info *ct_info,
 {
        struct nlattr *start;
 
-       start = nla_nest_start(skb, OVS_ACTION_ATTR_CT);
+       start = nla_nest_start_noflag(skb, OVS_ACTION_ATTR_CT);
        if (!start)
                return -EMSGSIZE;
 
@@ -2160,7 +2160,7 @@ static int ovs_ct_limit_cmd_get(struct sk_buff *skb, struct genl_info *info)
        if (IS_ERR(reply))
                return PTR_ERR(reply);
 
-       nla_reply = nla_nest_start(reply, OVS_CT_LIMIT_ATTR_ZONE_LIMIT);
+       nla_reply = nla_nest_start_noflag(reply, OVS_CT_LIMIT_ATTR_ZONE_LIMIT);
 
        if (a[OVS_CT_LIMIT_ATTR_ZONE_LIMIT]) {
                err = ovs_ct_limit_get_zone_limit(
index a64d3eb1f9a961c5f52442b2c7386660d6a5f224..356677c3a0c23eeb611d23c6ba6359b60315120e 100644 (file)
@@ -463,7 +463,8 @@ static int queue_userspace_packet(struct datapath *dp, struct sk_buff *skb,
                          nla_data(upcall_info->userdata));
 
        if (upcall_info->egress_tun_info) {
-               nla = nla_nest_start(user_skb, OVS_PACKET_ATTR_EGRESS_TUN_KEY);
+               nla = nla_nest_start_noflag(user_skb,
+                                           OVS_PACKET_ATTR_EGRESS_TUN_KEY);
                if (!nla) {
                        err = -EMSGSIZE;
                        goto out;
@@ -475,7 +476,7 @@ static int queue_userspace_packet(struct datapath *dp, struct sk_buff *skb,
        }
 
        if (upcall_info->actions_len) {
-               nla = nla_nest_start(user_skb, OVS_PACKET_ATTR_ACTIONS);
+               nla = nla_nest_start_noflag(user_skb, OVS_PACKET_ATTR_ACTIONS);
                if (!nla) {
                        err = -EMSGSIZE;
                        goto out;
@@ -776,7 +777,7 @@ static int ovs_flow_cmd_fill_actions(const struct sw_flow *flow,
         * This can only fail for dump operations because the skb is always
         * properly sized for single flows.
         */
-       start = nla_nest_start(skb, OVS_FLOW_ATTR_ACTIONS);
+       start = nla_nest_start_noflag(skb, OVS_FLOW_ATTR_ACTIONS);
        if (start) {
                const struct sw_flow_actions *sf_acts;
 
index 3563acd5f92e0bb2361504494f886a282bd32380..2427b672107a3c6eaec4faa0489c0d92abbe3ee6 100644 (file)
@@ -856,7 +856,7 @@ static int vxlan_opt_to_nlattr(struct sk_buff *skb,
        const struct vxlan_metadata *opts = tun_opts;
        struct nlattr *nla;
 
-       nla = nla_nest_start(skb, OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS);
+       nla = nla_nest_start_noflag(skb, OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS);
        if (!nla)
                return -EMSGSIZE;
 
@@ -948,7 +948,7 @@ static int ip_tun_to_nlattr(struct sk_buff *skb,
        struct nlattr *nla;
        int err;
 
-       nla = nla_nest_start(skb, OVS_KEY_ATTR_TUNNEL);
+       nla = nla_nest_start_noflag(skb, OVS_KEY_ATTR_TUNNEL);
        if (!nla)
                return -EMSGSIZE;
 
@@ -1957,7 +1957,7 @@ static int nsh_key_to_nlattr(const struct ovs_key_nsh *nsh, bool is_mask,
 {
        struct nlattr *start;
 
-       start = nla_nest_start(skb, OVS_KEY_ATTR_NSH);
+       start = nla_nest_start_noflag(skb, OVS_KEY_ATTR_NSH);
        if (!start)
                return -EMSGSIZE;
 
@@ -2040,14 +2040,15 @@ static int __ovs_nla_put_key(const struct sw_flow_key *swkey,
                if (swkey->eth.vlan.tci || eth_type_vlan(swkey->eth.type)) {
                        if (ovs_nla_put_vlan(skb, &output->eth.vlan, is_mask))
                                goto nla_put_failure;
-                       encap = nla_nest_start(skb, OVS_KEY_ATTR_ENCAP);
+                       encap = nla_nest_start_noflag(skb, OVS_KEY_ATTR_ENCAP);
                        if (!swkey->eth.vlan.tci)
                                goto unencap;
 
                        if (swkey->eth.cvlan.tci || eth_type_vlan(swkey->eth.type)) {
                                if (ovs_nla_put_vlan(skb, &output->eth.cvlan, is_mask))
                                        goto nla_put_failure;
-                               in_encap = nla_nest_start(skb, OVS_KEY_ATTR_ENCAP);
+                               in_encap = nla_nest_start_noflag(skb,
+                                                                OVS_KEY_ATTR_ENCAP);
                                if (!swkey->eth.cvlan.tci)
                                        goto unencap;
                        }
@@ -2226,7 +2227,7 @@ int ovs_nla_put_key(const struct sw_flow_key *swkey,
        int err;
        struct nlattr *nla;
 
-       nla = nla_nest_start(skb, attr);
+       nla = nla_nest_start_noflag(skb, attr);
        if (!nla)
                return -EMSGSIZE;
        err = __ovs_nla_put_key(swkey, output, is_mask, skb);
@@ -3252,7 +3253,7 @@ static int sample_action_to_attr(const struct nlattr *attr,
        const struct sample_arg *arg;
        struct nlattr *actions;
 
-       start = nla_nest_start(skb, OVS_ACTION_ATTR_SAMPLE);
+       start = nla_nest_start_noflag(skb, OVS_ACTION_ATTR_SAMPLE);
        if (!start)
                return -EMSGSIZE;
 
@@ -3265,7 +3266,7 @@ static int sample_action_to_attr(const struct nlattr *attr,
                goto out;
        }
 
-       ac_start = nla_nest_start(skb, OVS_SAMPLE_ATTR_ACTIONS);
+       ac_start = nla_nest_start_noflag(skb, OVS_SAMPLE_ATTR_ACTIONS);
        if (!ac_start) {
                err = -EMSGSIZE;
                goto out;
@@ -3291,7 +3292,7 @@ static int clone_action_to_attr(const struct nlattr *attr,
        struct nlattr *start;
        int err = 0, rem = nla_len(attr);
 
-       start = nla_nest_start(skb, OVS_ACTION_ATTR_CLONE);
+       start = nla_nest_start_noflag(skb, OVS_ACTION_ATTR_CLONE);
        if (!start)
                return -EMSGSIZE;
 
@@ -3313,7 +3314,7 @@ static int check_pkt_len_action_to_attr(const struct nlattr *attr,
        const struct nlattr *a, *cpl_arg;
        int err = 0, rem = nla_len(attr);
 
-       start = nla_nest_start(skb, OVS_ACTION_ATTR_CHECK_PKT_LEN);
+       start = nla_nest_start_noflag(skb, OVS_ACTION_ATTR_CHECK_PKT_LEN);
        if (!start)
                return -EMSGSIZE;
 
@@ -3332,8 +3333,8 @@ static int check_pkt_len_action_to_attr(const struct nlattr *attr,
         * 'OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL'.
         */
        a = nla_next(cpl_arg, &rem);
-       ac_start =  nla_nest_start(skb,
-               OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL);
+       ac_start =  nla_nest_start_noflag(skb,
+                                         OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL);
        if (!ac_start) {
                err = -EMSGSIZE;
                goto out;
@@ -3351,8 +3352,8 @@ static int check_pkt_len_action_to_attr(const struct nlattr *attr,
         * OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER.
         */
        a = nla_next(a, &rem);
-       ac_start =  nla_nest_start(skb,
-                                  OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER);
+       ac_start =  nla_nest_start_noflag(skb,
+                                         OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER);
        if (!ac_start) {
                err = -EMSGSIZE;
                goto out;
@@ -3386,7 +3387,7 @@ static int set_action_to_attr(const struct nlattr *a, struct sk_buff *skb)
                struct ovs_tunnel_info *ovs_tun = nla_data(ovs_key);
                struct ip_tunnel_info *tun_info = &ovs_tun->tun_dst->u.tun_info;
 
-               start = nla_nest_start(skb, OVS_ACTION_ATTR_SET);
+               start = nla_nest_start_noflag(skb, OVS_ACTION_ATTR_SET);
                if (!start)
                        return -EMSGSIZE;
 
@@ -3418,7 +3419,7 @@ static int masked_set_action_to_set_action_attr(const struct nlattr *a,
        /* Revert the conversion we did from a non-masked set action to
         * masked set action.
         */
-       nla = nla_nest_start(skb, OVS_ACTION_ATTR_SET);
+       nla = nla_nest_start_noflag(skb, OVS_ACTION_ATTR_SET);
        if (!nla)
                return -EMSGSIZE;
 
index 0be3d097ae016e29764e5bfda33597d2aaad0c71..fdc8be7fd8f3e7a844e3f7cb0077e768c3ea0cd3 100644 (file)
@@ -127,7 +127,7 @@ static int ovs_meter_cmd_reply_stats(struct sk_buff *reply, u32 meter_id,
                              OVS_METER_ATTR_PAD))
                goto error;
 
-       nla = nla_nest_start(reply, OVS_METER_ATTR_BANDS);
+       nla = nla_nest_start_noflag(reply, OVS_METER_ATTR_BANDS);
        if (!nla)
                goto error;
 
@@ -136,7 +136,7 @@ static int ovs_meter_cmd_reply_stats(struct sk_buff *reply, u32 meter_id,
        for (i = 0; i < meter->n_bands; ++i, ++band) {
                struct nlattr *band_nla;
 
-               band_nla = nla_nest_start(reply, OVS_BAND_ATTR_UNSPEC);
+               band_nla = nla_nest_start_noflag(reply, OVS_BAND_ATTR_UNSPEC);
                if (!band_nla || nla_put(reply, OVS_BAND_ATTR_STATS,
                                         sizeof(struct ovs_flow_stats),
                                         &band->stats))
@@ -166,11 +166,11 @@ static int ovs_meter_cmd_features(struct sk_buff *skb, struct genl_info *info)
            nla_put_u32(reply, OVS_METER_ATTR_MAX_BANDS, DP_MAX_BANDS))
                goto nla_put_failure;
 
-       nla = nla_nest_start(reply, OVS_METER_ATTR_BANDS);
+       nla = nla_nest_start_noflag(reply, OVS_METER_ATTR_BANDS);
        if (!nla)
                goto nla_put_failure;
 
-       band_nla = nla_nest_start(reply, OVS_BAND_ATTR_UNSPEC);
+       band_nla = nla_nest_start_noflag(reply, OVS_BAND_ATTR_UNSPEC);
        if (!band_nla)
                goto nla_put_failure;
        /* Currently only DROP band type is supported. */
index 8f16f11f7ad3e004b39eba94d269fc0f67c96143..54965ff8cc66f9da72399844406221a0f583be3e 100644 (file)
@@ -43,7 +43,7 @@ static int vxlan_get_options(const struct vport *vport, struct sk_buff *skb)
        if (vxlan->cfg.flags & VXLAN_F_GBP) {
                struct nlattr *exts;
 
-               exts = nla_nest_start(skb, OVS_TUNNEL_ATTR_EXTENSION);
+               exts = nla_nest_start_noflag(skb, OVS_TUNNEL_ATTR_EXTENSION);
                if (!exts)
                        return -EMSGSIZE;
 
index 19f6765566e727d8e02655f0dd6c2f0f971f64e3..258ce3b7b4524bdade7472607dd784e28d612a6c 100644 (file)
@@ -319,7 +319,7 @@ int ovs_vport_get_options(const struct vport *vport, struct sk_buff *skb)
        if (!vport->ops->get_options)
                return 0;
 
-       nla = nla_nest_start(skb, OVS_VPORT_ATTR_OPTIONS);
+       nla = nla_nest_start_noflag(skb, OVS_VPORT_ATTR_OPTIONS);
        if (!nla)
                return -EMSGSIZE;
 
index 7ef1c881ae7417e500630df398a900dddd598092..98abfd8644a45b9b667bdeddb02767e4d411dab9 100644 (file)
@@ -39,7 +39,7 @@ static int pdiag_put_mclist(const struct packet_sock *po, struct sk_buff *nlskb)
        struct nlattr *mca;
        struct packet_mclist *ml;
 
-       mca = nla_nest_start(nlskb, PACKET_DIAG_MCLIST);
+       mca = nla_nest_start_noflag(nlskb, PACKET_DIAG_MCLIST);
        if (!mca)
                return -EMSGSIZE;
 
index 5a87e271d35a2416b3589888bcfadee0c31b2142..641ad7575f24763b3f14a5fa17878765f6781fd8 100644 (file)
@@ -242,7 +242,7 @@ static int tcf_dump_walker(struct tcf_idrinfo *idrinfo, struct sk_buff *skb,
                               (unsigned long)p->tcfa_tm.lastuse))
                        continue;
 
-               nest = nla_nest_start(skb, n_i);
+               nest = nla_nest_start_noflag(skb, n_i);
                if (!nest) {
                        index--;
                        goto nla_put_failure;
@@ -299,7 +299,7 @@ static int tcf_del_walker(struct tcf_idrinfo *idrinfo, struct sk_buff *skb,
        struct tc_action *p;
        unsigned long id = 1;
 
-       nest = nla_nest_start(skb, 0);
+       nest = nla_nest_start_noflag(skb, 0);
        if (nest == NULL)
                goto nla_put_failure;
        if (nla_put_string(skb, TCA_KIND, ops->kind))
@@ -776,7 +776,7 @@ tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int bind, int ref)
        }
        rcu_read_unlock();
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
        err = tcf_action_dump_old(skb, a, bind, ref);
@@ -800,7 +800,7 @@ int tcf_action_dump(struct sk_buff *skb, struct tc_action *actions[],
 
        for (i = 0; i < TCA_ACT_MAX_PRIO && actions[i]; i++) {
                a = actions[i];
-               nest = nla_nest_start(skb, a->order);
+               nest = nla_nest_start_noflag(skb, a->order);
                if (nest == NULL)
                        goto nla_put_failure;
                err = tcf_action_dump_1(skb, a, bind, ref);
@@ -1052,7 +1052,7 @@ static int tca_get_fill(struct sk_buff *skb, struct tc_action *actions[],
        t->tca__pad1 = 0;
        t->tca__pad2 = 0;
 
-       nest = nla_nest_start(skb, TCA_ACT_TAB);
+       nest = nla_nest_start_noflag(skb, TCA_ACT_TAB);
        if (!nest)
                goto out_nlmsg_trim;
 
@@ -1176,7 +1176,7 @@ static int tca_action_flush(struct net *net, struct nlattr *nla,
        t->tca__pad1 = 0;
        t->tca__pad2 = 0;
 
-       nest = nla_nest_start(skb, TCA_ACT_TAB);
+       nest = nla_nest_start_noflag(skb, TCA_ACT_TAB);
        if (!nest) {
                NL_SET_ERR_MSG(extack, "Failed to add new netlink message");
                goto out_module_put;
@@ -1508,7 +1508,7 @@ static int tc_dump_action(struct sk_buff *skb, struct netlink_callback *cb)
        if (!count_attr)
                goto out_module_put;
 
-       nest = nla_nest_start(skb, TCA_ACT_TAB);
+       nest = nla_nest_start_noflag(skb, TCA_ACT_TAB);
        if (nest == NULL)
                goto out_module_put;
 
index 31c6ffb6abe7c607972de7b80fe77f03f8782723..7a87ce2e5a76b6988b2844e04695daf8941e5425 100644 (file)
@@ -387,7 +387,7 @@ static int dump_metalist(struct sk_buff *skb, struct tcf_ife_info *ife)
        if (list_empty(&ife->metalist))
                return 0;
 
-       nest = nla_nest_start(skb, TCA_IFE_METALST);
+       nest = nla_nest_start_noflag(skb, TCA_IFE_METALST);
        if (!nest)
                goto out_nlmsg_trim;
 
index 287793abfaf9bae9aba9c4f23552890c795010c1..ce4b54fa78341ba36085f0e35378bd8cf31ef22f 100644 (file)
@@ -108,14 +108,15 @@ err_out:
 static int tcf_pedit_key_ex_dump(struct sk_buff *skb,
                                 struct tcf_pedit_key_ex *keys_ex, int n)
 {
-       struct nlattr *keys_start = nla_nest_start(skb, TCA_PEDIT_KEYS_EX);
+       struct nlattr *keys_start = nla_nest_start_noflag(skb,
+                                                         TCA_PEDIT_KEYS_EX);
 
        if (!keys_start)
                goto nla_failure;
        for (; n > 0; n--) {
                struct nlattr *key_start;
 
-               key_start = nla_nest_start(skb, TCA_PEDIT_KEY_EX);
+               key_start = nla_nest_start_noflag(skb, TCA_PEDIT_KEY_EX);
                if (!key_start)
                        goto nla_failure;
 
index d5aaf90a39712982685cbed5f60d16576324f17b..45c0c253c7e80230ae1f461fec3ab4ced346a8c5 100644 (file)
@@ -426,7 +426,7 @@ static int tunnel_key_geneve_opts_dump(struct sk_buff *skb,
        u8 *src = (u8 *)(info + 1);
        struct nlattr *start;
 
-       start = nla_nest_start(skb, TCA_TUNNEL_KEY_ENC_OPTS_GENEVE);
+       start = nla_nest_start_noflag(skb, TCA_TUNNEL_KEY_ENC_OPTS_GENEVE);
        if (!start)
                return -EMSGSIZE;
 
@@ -460,7 +460,7 @@ static int tunnel_key_opts_dump(struct sk_buff *skb,
        if (!info->options_len)
                return 0;
 
-       start = nla_nest_start(skb, TCA_TUNNEL_KEY_ENC_OPTS);
+       start = nla_nest_start_noflag(skb, TCA_TUNNEL_KEY_ENC_OPTS);
        if (!start)
                return -EMSGSIZE;
 
index 9115f053883f375e6f38d73530a7b88d0b2bd96c..78de717afddf01a16cc9eccdae5a8e9531f3d766 100644 (file)
@@ -3111,7 +3111,7 @@ int tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts)
                 * tc data even if iproute2  was newer - jhs
                 */
                if (exts->type != TCA_OLD_COMPAT) {
-                       nest = nla_nest_start(skb, exts->action);
+                       nest = nla_nest_start_noflag(skb, exts->action);
                        if (nest == NULL)
                                goto nla_put_failure;
 
@@ -3120,7 +3120,7 @@ int tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts)
                        nla_nest_end(skb, nest);
                } else if (exts->police) {
                        struct tc_action *act = tcf_exts_first_act(exts);
-                       nest = nla_nest_start(skb, exts->police);
+                       nest = nla_nest_start_noflag(skb, exts->police);
                        if (nest == NULL || !act)
                                goto nla_put_failure;
                        if (tcf_action_dump_old(skb, act, 0, 0) < 0)
index 687b0af67878b6436550768170784262b5e5b2be..dd5fdb62c6df51009c640dd467718e8184f2632d 100644 (file)
@@ -288,7 +288,7 @@ static int basic_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = f->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index b4ac58039cb1c3757f9f4e57ee1fb0ce34cc1be0..6fd569c5a0369e22f9c84577e3f21d4fe538dc64 100644 (file)
@@ -591,7 +591,7 @@ static int cls_bpf_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        cls_bpf_offload_update_stats(tp, prog);
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 4c1567854f954e9914409a1972e08220985bf486..b680dd684282151b9cb23bec1a97d2bb8fe7bc11 100644 (file)
@@ -176,7 +176,7 @@ static int cls_cgroup_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = head->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index eece1ee26930c7da736739dd5dba3145c79d0127..cb29fe7d5ed302913f0f39a2f302c268cecf63ef 100644 (file)
@@ -629,7 +629,7 @@ static int flow_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = f->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 0d8968803e983afa6e441e0db52668213ca10336..8d4f7a672f14352851e5de8d33d0a01cee7f3d03 100644 (file)
@@ -2051,7 +2051,7 @@ static int fl_dump_key_geneve_opt(struct sk_buff *skb,
        struct nlattr *nest;
        int opt_off = 0;
 
-       nest = nla_nest_start(skb, TCA_FLOWER_KEY_ENC_OPTS_GENEVE);
+       nest = nla_nest_start_noflag(skb, TCA_FLOWER_KEY_ENC_OPTS_GENEVE);
        if (!nest)
                goto nla_put_failure;
 
@@ -2087,7 +2087,7 @@ static int fl_dump_key_options(struct sk_buff *skb, int enc_opt_type,
        if (!enc_opts->len)
                return 0;
 
-       nest = nla_nest_start(skb, enc_opt_type);
+       nest = nla_nest_start_noflag(skb, enc_opt_type);
        if (!nest)
                goto nla_put_failure;
 
@@ -2333,7 +2333,7 @@ static int fl_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = f->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!nest)
                goto nla_put_failure;
 
@@ -2384,7 +2384,7 @@ static int fl_tmplt_dump(struct sk_buff *skb, struct net *net, void *tmplt_priv)
        struct fl_flow_key *key, *mask;
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!nest)
                goto nla_put_failure;
 
index ad036b00427d92859393773eb0a9d99e2da14e4b..3fcc1d51b9d75ebbfae56f28cf853a222540fb9a 100644 (file)
@@ -402,7 +402,7 @@ static int fw_dump(struct net *net, struct tcf_proto *tp, void *fh,
        if (!f->res.classid && !tcf_exts_has_actions(&f->exts))
                return skb->len;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index a13bc351a4148f40f434b25a9adffc4cf9137548..d54fa8e11b9e3ffc5483d4c6983095b2af470c89 100644 (file)
@@ -303,7 +303,7 @@ static int mall_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = head->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!nest)
                goto nla_put_failure;
 
index f006af23b64a8e85c066f404a2761c85b2d3a77a..b3b9b151a61dc6a5bcfcd97ffb794aa06055f553 100644 (file)
@@ -607,7 +607,7 @@ static int route4_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = f->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 0719a21d9c4127fae62754986e2d620b3c99422f..fa059cf934a607e4863ab4d710be0fdff4450a92 100644 (file)
@@ -706,7 +706,7 @@ static int rsvp_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = f->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 24e0a62a65ccbe720f0648f1b68fdbbf4eea2dde..1a2e7d5a8776f9c2c5cebd7f570bc8ef6f2efad3 100644 (file)
@@ -601,7 +601,7 @@ static int tcindex_dump(struct net *net, struct tcf_proto *tp, void *fh,
                 tp, fh, skb, t, p, r);
        pr_debug("p->perfect %p p->h %p\n", p->perfect, p->h);
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 48e76a3acf8a77457cd85381b1b434720420e419..499477058b2de101801a474ce698c7d8a148a988 100644 (file)
@@ -1294,7 +1294,7 @@ static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh,
 
        t->tcm_handle = n->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 1331a4c2d8ff55fdc802b85b819939836feda4e1..6f2d6a761dbeaf519f39351921b1c2001c0e1f89 100644 (file)
@@ -440,14 +440,14 @@ int tcf_em_tree_dump(struct sk_buff *skb, struct tcf_ematch_tree *tree, int tlv)
        struct nlattr *top_start;
        struct nlattr *list_start;
 
-       top_start = nla_nest_start(skb, tlv);
+       top_start = nla_nest_start_noflag(skb, tlv);
        if (top_start == NULL)
                goto nla_put_failure;
 
        if (nla_put(skb, TCA_EMATCH_TREE_HDR, sizeof(tree->hdr), &tree->hdr))
                goto nla_put_failure;
 
-       list_start = nla_nest_start(skb, TCA_EMATCH_TREE_LIST);
+       list_start = nla_nest_start_noflag(skb, TCA_EMATCH_TREE_LIST);
        if (list_start == NULL)
                goto nla_put_failure;
 
index c126b9f78d6e31760342d2b40398c048336628c1..6c81b22d214f58aa9192e32f750bf29d08b8cd32 100644 (file)
@@ -542,7 +542,7 @@ static int qdisc_dump_stab(struct sk_buff *skb, struct qdisc_size_table *stab)
 {
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, TCA_STAB);
+       nest = nla_nest_start_noflag(skb, TCA_STAB);
        if (nest == NULL)
                goto nla_put_failure;
        if (nla_put(skb, TCA_STAB_BASE, sizeof(stab->szopts), &stab->szopts))
index d714d3747bcb3ced42cbfddb3988db7363e34e1c..c36aa57eb4afccf5e3e0dab37a9f92f99af7c149 100644 (file)
@@ -609,7 +609,7 @@ static int atm_tc_dump_class(struct Qdisc *sch, unsigned long cl,
        tcm->tcm_handle = flow->common.classid;
        tcm->tcm_info = flow->q->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 259d97bc2abd39df8df646c2ebc34ea272e1fd70..50db72fe44de8d40048e2daf71a7d39d3823f1ab 100644 (file)
@@ -2735,7 +2735,7 @@ static int cake_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct cake_sched_data *q = qdisc_priv(sch);
        struct nlattr *opts;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!opts)
                goto nla_put_failure;
 
@@ -2806,7 +2806,7 @@ nla_put_failure:
 
 static int cake_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
 {
-       struct nlattr *stats = nla_nest_start(d->skb, TCA_STATS_APP);
+       struct nlattr *stats = nla_nest_start_noflag(d->skb, TCA_STATS_APP);
        struct cake_sched_data *q = qdisc_priv(sch);
        struct nlattr *tstats, *ts;
        int i;
@@ -2836,7 +2836,7 @@ static int cake_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
 #undef PUT_STAT_U32
 #undef PUT_STAT_U64
 
-       tstats = nla_nest_start(d->skb, TCA_CAKE_STATS_TIN_STATS);
+       tstats = nla_nest_start_noflag(d->skb, TCA_CAKE_STATS_TIN_STATS);
        if (!tstats)
                goto nla_put_failure;
 
@@ -2853,7 +2853,7 @@ static int cake_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
        for (i = 0; i < q->tin_cnt; i++) {
                struct cake_tin_data *b = &q->tins[q->tin_order[i]];
 
-               ts = nla_nest_start(d->skb, i + 1);
+               ts = nla_nest_start_noflag(d->skb, i + 1);
                if (!ts)
                        goto nla_put_failure;
 
@@ -2973,7 +2973,7 @@ static int cake_dump_class_stats(struct Qdisc *sch, unsigned long cl,
        if (flow) {
                ktime_t now = ktime_get();
 
-               stats = nla_nest_start(d->skb, TCA_STATS_APP);
+               stats = nla_nest_start_noflag(d->skb, TCA_STATS_APP);
                if (!stats)
                        return -1;
 
index 114b9048ea7e3682106c6e65644d4d0992e20461..243bce4b888bb16948039c47535866449d383155 100644 (file)
@@ -1305,7 +1305,7 @@ static int cbq_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct cbq_sched_data *q = qdisc_priv(sch);
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
        if (cbq_dump_attr(skb, &q->link) < 0)
@@ -1340,7 +1340,7 @@ cbq_dump_class(struct Qdisc *sch, unsigned long arg,
        tcm->tcm_handle = cl->common.classid;
        tcm->tcm_info = cl->q->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
        if (cbq_dump_attr(skb, cl) < 0)
index f68fd7a0e038b527bb91a1bc7717b8fe09048c7c..adffc6d68c06483525ab6add174e4aee58865042 100644 (file)
@@ -449,7 +449,7 @@ static int cbs_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct tc_cbs_qopt opt = { };
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!nest)
                goto nla_put_failure;
 
index eafc0d17d1748cf01f33d206cb46dde6ed81116c..eda21dc94bde23f4e3488ea59c5cca4280ec1832 100644 (file)
@@ -452,7 +452,7 @@ static int choke_dump(struct Qdisc *sch, struct sk_buff *skb)
                .Scell_log      = q->parms.Scell_log,
        };
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
 
index 17cd81f84b5de9d9f53acf2c9078a7618927ddc5..60ac4e61ce3a76f65ee96ce603c6b4c3318d1298 100644 (file)
@@ -217,7 +217,7 @@ static int codel_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct codel_sched_data *q = qdisc_priv(sch);
        struct nlattr *opts;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
 
index 430df9a55ec4e9742786fb869ab3acf28e84f5ed..022db73fd5a97379609e112fe30b89491c48bf18 100644 (file)
@@ -244,7 +244,7 @@ static int drr_dump_class(struct Qdisc *sch, unsigned long arg,
        tcm->tcm_handle = cl->common.classid;
        tcm->tcm_info   = cl->qdisc->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
        if (nla_put_u32(skb, TCA_DRR_QUANTUM, cl->quantum))
index 42471464ded3fdf28b712e2d16b7cb4f34939cc0..cdf744e710f1efa2b34a861d92142d4ea61145e7 100644 (file)
@@ -432,7 +432,7 @@ static int dsmark_dump_class(struct Qdisc *sch, unsigned long cl,
        tcm->tcm_handle = TC_H_MAKE(TC_H_MAJ(sch->handle), cl - 1);
        tcm->tcm_info = p->q->handle;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
        if (nla_put_u8(skb, TCA_DSMARK_MASK, p->mv[cl - 1].mask) ||
@@ -451,7 +451,7 @@ static int dsmark_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct dsmark_qdisc_data *p = qdisc_priv(sch);
        struct nlattr *opts = NULL;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
        if (nla_put_u16(skb, TCA_DSMARK_INDICES, p->indices))
index 1150f22983dfe6e5e3b8aaf6619b22702341b6cd..67107caa287cddb185b9afe9d0921aa0742652bb 100644 (file)
@@ -460,7 +460,7 @@ static int etf_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct tc_etf_qopt opt = { };
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!nest)
                goto nla_put_failure;
 
index 1a662f2bb7bb7bb5507107f61657d44fa28ca991..5ca370e78d3a14daef75bdfd4265f1671b1b6581 100644 (file)
@@ -823,7 +823,7 @@ static int fq_dump(struct Qdisc *sch, struct sk_buff *skb)
        u64 ce_threshold = q->ce_threshold;
        struct nlattr *opts;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
 
index cd04d40c30b672ef755b66a50ff42bf8240367db..825a933b019ae6579f670b0a524ac6c911b8bc03 100644 (file)
@@ -527,7 +527,7 @@ static int fq_codel_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct fq_codel_sched_data *q = qdisc_priv(sch);
        struct nlattr *opts;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
 
index 234afbf9115b7fbb7713fe12f74ea099fb69e8e2..9bfa15e12d23e945ba1ab82936ff998ae488ea2f 100644 (file)
@@ -772,7 +772,7 @@ static int gred_dump(struct Qdisc *sch, struct sk_buff *skb)
        if (gred_offload_dump_stats(sch))
                goto nla_put_failure;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
        if (nla_put(skb, TCA_GRED_DPS, sizeof(sopt), &sopt))
@@ -790,7 +790,7 @@ static int gred_dump(struct Qdisc *sch, struct sk_buff *skb)
                goto nla_put_failure;
 
        /* Old style all-in-one dump of VQs */
-       parms = nla_nest_start(skb, TCA_GRED_PARMS);
+       parms = nla_nest_start_noflag(skb, TCA_GRED_PARMS);
        if (parms == NULL)
                goto nla_put_failure;
 
@@ -841,7 +841,7 @@ append_opt:
        nla_nest_end(skb, parms);
 
        /* Dump the VQs again, in more structured way */
-       vqs = nla_nest_start(skb, TCA_GRED_VQ_LIST);
+       vqs = nla_nest_start_noflag(skb, TCA_GRED_VQ_LIST);
        if (!vqs)
                goto nla_put_failure;
 
@@ -852,7 +852,7 @@ append_opt:
                if (!q)
                        continue;
 
-               vq = nla_nest_start(skb, TCA_GRED_VQ_ENTRY);
+               vq = nla_nest_start_noflag(skb, TCA_GRED_VQ_ENTRY);
                if (!vq)
                        goto nla_put_failure;
 
index d2ab463f22ae8b122ae43d1969cf795fb11c05b3..97d2fb91c39f71c12cfabe8e79aa728df4703787 100644 (file)
@@ -1300,7 +1300,7 @@ hfsc_dump_class(struct Qdisc *sch, unsigned long arg, struct sk_buff *skb,
        if (cl->level == 0)
                tcm->tcm_info = cl->qdisc->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
        if (hfsc_dump_curves(skb, cl) < 0)
index 9d6a47697406091ba6fda460889f01923f658c77..43bc159c4f7c1274be376eb9c32cb5ab8a73f63c 100644 (file)
@@ -654,7 +654,7 @@ static int hhf_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct hhf_sched_data *q = qdisc_priv(sch);
        struct nlattr *opts;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
 
index 2f9883b196e8e6b10abd9b623b6285274a003ff6..64010aec543744f2d77291b11da7bcfdd10491e3 100644 (file)
@@ -1057,7 +1057,7 @@ static int htb_dump(struct Qdisc *sch, struct sk_buff *skb)
        gopt.defcls = q->defcls;
        gopt.debug = 0;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
        if (nla_put(skb, TCA_HTB_INIT, sizeof(gopt), &gopt) ||
@@ -1086,7 +1086,7 @@ static int htb_dump_class(struct Qdisc *sch, unsigned long arg,
        if (!cl->level && cl->leaf.q)
                tcm->tcm_info = cl->leaf.q->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index ce3f55259d0d1a9024e0d553f0a0b3e101697430..0bac926b46c7643d1af858a50fe54142c1b9f04c 100644 (file)
@@ -106,7 +106,7 @@ static int ingress_dump(struct Qdisc *sch, struct sk_buff *skb)
 {
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index ea0dc112b38dd4ac43d0fdc15f4742583c380991..7afefed72d35c3192fb634742361c3b5ce7ff842 100644 (file)
@@ -349,7 +349,7 @@ static int dump_rates(struct mqprio_sched *priv,
        int i;
 
        if (priv->flags & TC_MQPRIO_F_MIN_RATE) {
-               nest = nla_nest_start(skb, TCA_MQPRIO_MIN_RATE64);
+               nest = nla_nest_start_noflag(skb, TCA_MQPRIO_MIN_RATE64);
                if (!nest)
                        goto nla_put_failure;
 
@@ -363,7 +363,7 @@ static int dump_rates(struct mqprio_sched *priv,
        }
 
        if (priv->flags & TC_MQPRIO_F_MAX_RATE) {
-               nest = nla_nest_start(skb, TCA_MQPRIO_MAX_RATE64);
+               nest = nla_nest_start_noflag(skb, TCA_MQPRIO_MAX_RATE64);
                if (!nest)
                        goto nla_put_failure;
 
index cc9d8133afcdb7fe1b6b4c35f9d96d636ea11035..0242c0d4a2d0f58f81c4c7254f65c8bf956e1b23 100644 (file)
@@ -1079,7 +1079,7 @@ static int dump_loss_model(const struct netem_sched_data *q,
 {
        struct nlattr *nest;
 
-       nest = nla_nest_start(skb, TCA_NETEM_LOSS);
+       nest = nla_nest_start_noflag(skb, TCA_NETEM_LOSS);
        if (nest == NULL)
                goto nla_put_failure;
 
index 1cc0c7b74aa3531fa649df1142f7dbff3034ab23..9bf41f4a2312fd334d3e2d590df17cb09a13fa71 100644 (file)
@@ -491,7 +491,7 @@ static int pie_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct pie_sched_data *q = qdisc_priv(sch);
        struct nlattr *opts;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!opts)
                goto nla_put_failure;
 
index 1589364b54da11dc241212dee190dad741d9d9bc..bab2d4026e8be6c087ebd6b99e869ff483274b8d 100644 (file)
@@ -619,7 +619,7 @@ static int qfq_dump_class(struct Qdisc *sch, unsigned long arg,
        tcm->tcm_handle = cl->common.classid;
        tcm->tcm_info   = cl->qdisc->handle;
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
        if (nla_put_u32(skb, TCA_QFQ_WEIGHT, cl->agg->class_weight) ||
index 4e8c0abf619459f396b91fc587271b7938e48330..b9f34e057e8793d4a94f1f4911b309742a8cd30b 100644 (file)
@@ -318,7 +318,7 @@ static int red_dump(struct Qdisc *sch, struct sk_buff *skb)
        if (err)
                goto nla_put_failure;
 
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
        if (nla_put(skb, TCA_RED_PARMS, sizeof(opt), &opt) ||
index 2419fdb759667a5c124f2018a310aabe9318b257..f54b00a431a363cfa428e60dcda595ef29df7172 100644 (file)
@@ -580,7 +580,7 @@ static int sfb_dump(struct Qdisc *sch, struct sk_buff *skb)
        };
 
        sch->qstats.backlog = q->qdisc->qstats.backlog;
-       opts = nla_nest_start(skb, TCA_OPTIONS);
+       opts = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (opts == NULL)
                goto nla_put_failure;
        if (nla_put(skb, TCA_SFB_PARMS, sizeof(opt), &opt))
index df848a36b222e6920d341aab56ba3b6ab1ba9142..e016ee07dd1fceb72d7138a425aa8ba3ba7a3499 100644 (file)
@@ -841,7 +841,7 @@ static int dump_entry(struct sk_buff *msg,
 {
        struct nlattr *item;
 
-       item = nla_nest_start(msg, TCA_TAPRIO_SCHED_ENTRY);
+       item = nla_nest_start_noflag(msg, TCA_TAPRIO_SCHED_ENTRY);
        if (!item)
                return -ENOSPC;
 
@@ -883,7 +883,7 @@ static int taprio_dump(struct Qdisc *sch, struct sk_buff *skb)
                opt.offset[i] = dev->tc_to_txq[i].offset;
        }
 
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (!nest)
                return -ENOSPC;
 
@@ -897,7 +897,8 @@ static int taprio_dump(struct Qdisc *sch, struct sk_buff *skb)
        if (nla_put_s32(skb, TCA_TAPRIO_ATTR_SCHED_CLOCKID, q->clockid))
                goto options_error;
 
-       entry_list = nla_nest_start(skb, TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST);
+       entry_list = nla_nest_start_noflag(skb,
+                                          TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST);
        if (!entry_list)
                goto options_error;
 
index f71578dbb9e39292329e06d98535c764043acd55..3ae5a29eeab32fa2c87d1d4314fa9e3488e003b2 100644 (file)
@@ -448,7 +448,7 @@ static int tbf_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct tc_tbf_qopt opt;
 
        sch->qstats.backlog = q->qdisc->qstats.backlog;
-       nest = nla_nest_start(skb, TCA_OPTIONS);
+       nest = nla_nest_start_noflag(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;
 
index d27f30a9a01d8d34b3f46d6fc12f2d192d6f3494..fd8e4e83f5e0625dd0ba3b99d99c4a9173f237d8 100644 (file)
@@ -687,14 +687,14 @@ static int __tipc_nl_add_bearer(struct tipc_nl_msg *msg,
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_BEARER);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_BEARER);
        if (!attrs)
                goto msg_full;
 
        if (nla_put_string(msg->skb, TIPC_NLA_BEARER_NAME, bearer->name))
                goto attr_msg_full;
 
-       prop = nla_nest_start(msg->skb, TIPC_NLA_BEARER_PROP);
+       prop = nla_nest_start_noflag(msg->skb, TIPC_NLA_BEARER_PROP);
        if (!prop)
                goto prop_msg_full;
        if (nla_put_u32(msg->skb, TIPC_NLA_PROP_PRIO, bearer->priority))
@@ -1033,14 +1033,14 @@ static int __tipc_nl_add_media(struct tipc_nl_msg *msg,
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_MEDIA);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_MEDIA);
        if (!attrs)
                goto msg_full;
 
        if (nla_put_string(msg->skb, TIPC_NLA_MEDIA_NAME, media->name))
                goto attr_msg_full;
 
-       prop = nla_nest_start(msg->skb, TIPC_NLA_MEDIA_PROP);
+       prop = nla_nest_start_noflag(msg->skb, TIPC_NLA_MEDIA_PROP);
        if (!prop)
                goto prop_msg_full;
        if (nla_put_u32(msg->skb, TIPC_NLA_PROP_PRIO, media->priority))
index 63f39201e41e699104d838f206d43f7f24806d3a..992be6113676988291157fb81c65b5ad605e522b 100644 (file)
@@ -917,7 +917,7 @@ void tipc_group_member_evt(struct tipc_group *grp,
 
 int tipc_group_fill_sock_diag(struct tipc_group *grp, struct sk_buff *skb)
 {
-       struct nlattr *group = nla_nest_start(skb, TIPC_NLA_SOCK_GROUP);
+       struct nlattr *group = nla_nest_start_noflag(skb, TIPC_NLA_SOCK_GROUP);
 
        if (!group)
                return -EMSGSIZE;
index 6053489c8063633ef7f206977c5ca27985edf5ff..0327c8ff8d4826aedf9ccd470164ded4cb9ad5c9 100644 (file)
@@ -2228,7 +2228,7 @@ static int __tipc_nl_add_stats(struct sk_buff *skb, struct tipc_stats *s)
                        (s->accu_queue_sz / s->queue_sz_counts) : 0}
        };
 
-       stats = nla_nest_start(skb, TIPC_NLA_LINK_STATS);
+       stats = nla_nest_start_noflag(skb, TIPC_NLA_LINK_STATS);
        if (!stats)
                return -EMSGSIZE;
 
@@ -2260,7 +2260,7 @@ int __tipc_nl_add_link(struct net *net, struct tipc_nl_msg *msg,
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_LINK);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_LINK);
        if (!attrs)
                goto msg_full;
 
@@ -2282,7 +2282,7 @@ int __tipc_nl_add_link(struct net *net, struct tipc_nl_msg *msg,
                if (nla_put_flag(msg->skb, TIPC_NLA_LINK_ACTIVE))
                        goto attr_msg_full;
 
-       prop = nla_nest_start(msg->skb, TIPC_NLA_LINK_PROP);
+       prop = nla_nest_start_noflag(msg->skb, TIPC_NLA_LINK_PROP);
        if (!prop)
                goto attr_msg_full;
        if (nla_put_u32(msg->skb, TIPC_NLA_PROP_PRIO, link->priority))
@@ -2349,7 +2349,7 @@ static int __tipc_nl_add_bc_link_stat(struct sk_buff *skb,
                        (stats->accu_queue_sz / stats->queue_sz_counts) : 0}
        };
 
-       nest = nla_nest_start(skb, TIPC_NLA_LINK_STATS);
+       nest = nla_nest_start_noflag(skb, TIPC_NLA_LINK_STATS);
        if (!nest)
                return -EMSGSIZE;
 
@@ -2389,7 +2389,7 @@ int tipc_nl_add_bc_link(struct net *net, struct tipc_nl_msg *msg)
                return -EMSGSIZE;
        }
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_LINK);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_LINK);
        if (!attrs)
                goto msg_full;
 
@@ -2406,7 +2406,7 @@ int tipc_nl_add_bc_link(struct net *net, struct tipc_nl_msg *msg)
        if (nla_put_u32(msg->skb, TIPC_NLA_LINK_TX, 0))
                goto attr_msg_full;
 
-       prop = nla_nest_start(msg->skb, TIPC_NLA_LINK_PROP);
+       prop = nla_nest_start_noflag(msg->skb, TIPC_NLA_LINK_PROP);
        if (!prop)
                goto attr_msg_full;
        if (nla_put_u32(msg->skb, TIPC_NLA_PROP_WIN, bcl->window))
index 67f69389ec179bff3518b35c9d546685d9d2bc41..6a6eae88442f36652902e16f7c0fbb63bb27c17e 100644 (file)
@@ -696,7 +696,7 @@ static int __tipc_nl_add_monitor_peer(struct tipc_peer *peer,
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_MON_PEER);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_MON_PEER);
        if (!attrs)
                goto msg_full;
 
@@ -785,7 +785,7 @@ int __tipc_nl_add_monitor(struct net *net, struct tipc_nl_msg *msg,
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_MON);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_MON);
        if (!attrs)
                goto msg_full;
 
index 89993afe0fbd38713dd3d0499cc79e6c3e159b4d..66a65c2cdb23c09960e71885635412163a6dcecd 100644 (file)
@@ -829,11 +829,11 @@ static int __tipc_nl_add_nametable_publ(struct tipc_nl_msg *msg,
                if (!hdr)
                        return -EMSGSIZE;
 
-               attrs = nla_nest_start(msg->skb, TIPC_NLA_NAME_TABLE);
+               attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_NAME_TABLE);
                if (!attrs)
                        goto msg_full;
 
-               b = nla_nest_start(msg->skb, TIPC_NLA_NAME_TABLE_PUBL);
+               b = nla_nest_start_noflag(msg->skb, TIPC_NLA_NAME_TABLE_PUBL);
                if (!b)
                        goto attr_msg_full;
 
index 7ce1e86b024f09cb7345840d4a4d8e3949c5107d..0bba4e6b005cfbad250ee0f9196ad8b6ad2467c6 100644 (file)
@@ -187,7 +187,7 @@ static int __tipc_nl_add_net(struct net *net, struct tipc_nl_msg *msg)
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_NET);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_NET);
        if (!attrs)
                goto msg_full;
 
index 340a6e7c43a7d39c596de4f1b0045e4200edc2a3..36fe2dbb6d870cfaaa020e469a7860241a761e19 100644 (file)
@@ -399,7 +399,7 @@ static int tipc_nl_compat_bearer_enable(struct tipc_nl_compat_cmd_doit *cmd,
 
        b = (struct tipc_bearer_config *)TLV_DATA(msg->req);
 
-       bearer = nla_nest_start(skb, TIPC_NLA_BEARER);
+       bearer = nla_nest_start_noflag(skb, TIPC_NLA_BEARER);
        if (!bearer)
                return -EMSGSIZE;
 
@@ -419,7 +419,7 @@ static int tipc_nl_compat_bearer_enable(struct tipc_nl_compat_cmd_doit *cmd,
                return -EMSGSIZE;
 
        if (ntohl(b->priority) <= TIPC_MAX_LINK_PRI) {
-               prop = nla_nest_start(skb, TIPC_NLA_BEARER_PROP);
+               prop = nla_nest_start_noflag(skb, TIPC_NLA_BEARER_PROP);
                if (!prop)
                        return -EMSGSIZE;
                if (nla_put_u32(skb, TIPC_NLA_PROP_PRIO, ntohl(b->priority)))
@@ -441,7 +441,7 @@ static int tipc_nl_compat_bearer_disable(struct tipc_nl_compat_cmd_doit *cmd,
 
        name = (char *)TLV_DATA(msg->req);
 
-       bearer = nla_nest_start(skb, TIPC_NLA_BEARER);
+       bearer = nla_nest_start_noflag(skb, TIPC_NLA_BEARER);
        if (!bearer)
                return -EMSGSIZE;
 
@@ -685,7 +685,7 @@ static int tipc_nl_compat_media_set(struct sk_buff *skb,
 
        lc = (struct tipc_link_config *)TLV_DATA(msg->req);
 
-       media = nla_nest_start(skb, TIPC_NLA_MEDIA);
+       media = nla_nest_start_noflag(skb, TIPC_NLA_MEDIA);
        if (!media)
                return -EMSGSIZE;
 
@@ -696,7 +696,7 @@ static int tipc_nl_compat_media_set(struct sk_buff *skb,
        if (nla_put_string(skb, TIPC_NLA_MEDIA_NAME, lc->name))
                return -EMSGSIZE;
 
-       prop = nla_nest_start(skb, TIPC_NLA_MEDIA_PROP);
+       prop = nla_nest_start_noflag(skb, TIPC_NLA_MEDIA_PROP);
        if (!prop)
                return -EMSGSIZE;
 
@@ -717,7 +717,7 @@ static int tipc_nl_compat_bearer_set(struct sk_buff *skb,
 
        lc = (struct tipc_link_config *)TLV_DATA(msg->req);
 
-       bearer = nla_nest_start(skb, TIPC_NLA_BEARER);
+       bearer = nla_nest_start_noflag(skb, TIPC_NLA_BEARER);
        if (!bearer)
                return -EMSGSIZE;
 
@@ -728,7 +728,7 @@ static int tipc_nl_compat_bearer_set(struct sk_buff *skb,
        if (nla_put_string(skb, TIPC_NLA_BEARER_NAME, lc->name))
                return -EMSGSIZE;
 
-       prop = nla_nest_start(skb, TIPC_NLA_BEARER_PROP);
+       prop = nla_nest_start_noflag(skb, TIPC_NLA_BEARER_PROP);
        if (!prop)
                return -EMSGSIZE;
 
@@ -748,14 +748,14 @@ static int __tipc_nl_compat_link_set(struct sk_buff *skb,
 
        lc = (struct tipc_link_config *)TLV_DATA(msg->req);
 
-       link = nla_nest_start(skb, TIPC_NLA_LINK);
+       link = nla_nest_start_noflag(skb, TIPC_NLA_LINK);
        if (!link)
                return -EMSGSIZE;
 
        if (nla_put_string(skb, TIPC_NLA_LINK_NAME, lc->name))
                return -EMSGSIZE;
 
-       prop = nla_nest_start(skb, TIPC_NLA_LINK_PROP);
+       prop = nla_nest_start_noflag(skb, TIPC_NLA_LINK_PROP);
        if (!prop)
                return -EMSGSIZE;
 
@@ -811,7 +811,7 @@ static int tipc_nl_compat_link_reset_stats(struct tipc_nl_compat_cmd_doit *cmd,
 
        name = (char *)TLV_DATA(msg->req);
 
-       link = nla_nest_start(skb, TIPC_NLA_LINK);
+       link = nla_nest_start_noflag(skb, TIPC_NLA_LINK);
        if (!link)
                return -EMSGSIZE;
 
@@ -973,7 +973,7 @@ static int tipc_nl_compat_publ_dump(struct tipc_nl_compat_msg *msg, u32 sock)
                return -EMSGSIZE;
        }
 
-       nest = nla_nest_start(args, TIPC_NLA_SOCK);
+       nest = nla_nest_start_noflag(args, TIPC_NLA_SOCK);
        if (!nest) {
                kfree_skb(args);
                return -EMSGSIZE;
@@ -1100,7 +1100,7 @@ static int tipc_nl_compat_net_set(struct tipc_nl_compat_cmd_doit *cmd,
 
        val = ntohl(*(__be32 *)TLV_DATA(msg->req));
 
-       net = nla_nest_start(skb, TIPC_NLA_NET);
+       net = nla_nest_start_noflag(skb, TIPC_NLA_NET);
        if (!net)
                return -EMSGSIZE;
 
index 7478e2d4ec0278d3539f1725889445f26e291395..3777254a508f5a9301569c35656db5f1bbfc0c27 100644 (file)
@@ -1359,7 +1359,7 @@ static int __tipc_nl_add_node(struct tipc_nl_msg *msg, struct tipc_node *node)
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_NODE);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_NODE);
        if (!attrs)
                goto msg_full;
 
@@ -2353,7 +2353,7 @@ static int __tipc_nl_add_monitor_prop(struct net *net, struct tipc_nl_msg *msg)
        if (!hdr)
                return -EMSGSIZE;
 
-       attrs = nla_nest_start(msg->skb, TIPC_NLA_MON);
+       attrs = nla_nest_start_noflag(msg->skb, TIPC_NLA_MON);
        if (!attrs)
                goto msg_full;
 
index 1385207a301f64f99b07e46af6c97394e8ebfda1..7918f4763fdccc987e7612d79a1c3b2a133d49a4 100644 (file)
@@ -3273,7 +3273,7 @@ static int __tipc_nl_add_sk_con(struct sk_buff *skb, struct tipc_sock *tsk)
        peer_node = tsk_peer_node(tsk);
        peer_port = tsk_peer_port(tsk);
 
-       nest = nla_nest_start(skb, TIPC_NLA_SOCK_CON);
+       nest = nla_nest_start_noflag(skb, TIPC_NLA_SOCK_CON);
        if (!nest)
                return -EMSGSIZE;
 
@@ -3332,7 +3332,7 @@ static int __tipc_nl_add_sk(struct sk_buff *skb, struct netlink_callback *cb,
        if (!hdr)
                goto msg_cancel;
 
-       attrs = nla_nest_start(skb, TIPC_NLA_SOCK);
+       attrs = nla_nest_start_noflag(skb, TIPC_NLA_SOCK);
        if (!attrs)
                goto genlmsg_cancel;
 
@@ -3437,7 +3437,7 @@ int tipc_sk_fill_sock_diag(struct sk_buff *skb, struct netlink_callback *cb,
        if (!(sk_filter_state & (1 << sk->sk_state)))
                return 0;
 
-       attrs = nla_nest_start(skb, TIPC_NLA_SOCK);
+       attrs = nla_nest_start_noflag(skb, TIPC_NLA_SOCK);
        if (!attrs)
                goto msg_cancel;
 
@@ -3455,7 +3455,7 @@ int tipc_sk_fill_sock_diag(struct sk_buff *skb, struct netlink_callback *cb,
                              TIPC_NLA_SOCK_PAD))
                goto attr_msg_cancel;
 
-       stat = nla_nest_start(skb, TIPC_NLA_SOCK_STAT);
+       stat = nla_nest_start_noflag(skb, TIPC_NLA_SOCK_STAT);
        if (!stat)
                goto attr_msg_cancel;
 
@@ -3512,7 +3512,7 @@ static int __tipc_nl_add_sk_publ(struct sk_buff *skb,
        if (!hdr)
                goto msg_cancel;
 
-       attrs = nla_nest_start(skb, TIPC_NLA_PUBL);
+       attrs = nla_nest_start_noflag(skb, TIPC_NLA_PUBL);
        if (!attrs)
                goto genlmsg_cancel;
 
index 0884a1b8ad12595cabca71229789c55a14f24659..24d7c79598bb1c7f1c96035263598dc514a3e213 100644 (file)
@@ -523,7 +523,7 @@ int tipc_udp_nl_add_bearer_data(struct tipc_nl_msg *msg, struct tipc_bearer *b)
        if (!ub)
                return -ENODEV;
 
-       nest = nla_nest_start(msg->skb, TIPC_NLA_BEARER_UDP_OPTS);
+       nest = nla_nest_start_noflag(msg->skb, TIPC_NLA_BEARER_UDP_OPTS);
        if (!nest)
                goto msg_full;
 
index e74d21f4108a0688a50a5bd315fea4dc3361ea85..0bcd5ea4b4f228dc6aecf0d3cdd734a1f8e0865c 100644 (file)
@@ -755,13 +755,13 @@ static int nl80211_msg_put_wmm_rules(struct sk_buff *msg,
 {
        int j;
        struct nlattr *nl_wmm_rules =
-               nla_nest_start(msg, NL80211_FREQUENCY_ATTR_WMM);
+               nla_nest_start_noflag(msg, NL80211_FREQUENCY_ATTR_WMM);
 
        if (!nl_wmm_rules)
                goto nla_put_failure;
 
        for (j = 0; j < IEEE80211_NUM_ACS; j++) {
-               struct nlattr *nl_wmm_rule = nla_nest_start(msg, j);
+               struct nlattr *nl_wmm_rule = nla_nest_start_noflag(msg, j);
 
                if (!nl_wmm_rule)
                        goto nla_put_failure;
@@ -890,7 +890,7 @@ static bool nl80211_put_txq_stats(struct sk_buff *msg,
                return false;                                             \
        } while (0)
 
-       txqattr = nla_nest_start(msg, attrtype);
+       txqattr = nla_nest_start_noflag(msg, attrtype);
        if (!txqattr)
                return false;
 
@@ -1205,7 +1205,7 @@ static struct ieee80211_channel *nl80211_get_valid_chan(struct wiphy *wiphy,
 
 static int nl80211_put_iftypes(struct sk_buff *msg, u32 attr, u16 ifmodes)
 {
-       struct nlattr *nl_modes = nla_nest_start(msg, attr);
+       struct nlattr *nl_modes = nla_nest_start_noflag(msg, attr);
        int i;
 
        if (!nl_modes)
@@ -1233,8 +1233,8 @@ static int nl80211_put_iface_combinations(struct wiphy *wiphy,
        struct nlattr *nl_combis;
        int i, j;
 
-       nl_combis = nla_nest_start(msg,
-                               NL80211_ATTR_INTERFACE_COMBINATIONS);
+       nl_combis = nla_nest_start_noflag(msg,
+                                         NL80211_ATTR_INTERFACE_COMBINATIONS);
        if (!nl_combis)
                goto nla_put_failure;
 
@@ -1244,18 +1244,19 @@ static int nl80211_put_iface_combinations(struct wiphy *wiphy,
 
                c = &wiphy->iface_combinations[i];
 
-               nl_combi = nla_nest_start(msg, i + 1);
+               nl_combi = nla_nest_start_noflag(msg, i + 1);
                if (!nl_combi)
                        goto nla_put_failure;
 
-               nl_limits = nla_nest_start(msg, NL80211_IFACE_COMB_LIMITS);
+               nl_limits = nla_nest_start_noflag(msg,
+                                                 NL80211_IFACE_COMB_LIMITS);
                if (!nl_limits)
                        goto nla_put_failure;
 
                for (j = 0; j < c->n_limits; j++) {
                        struct nlattr *nl_limit;
 
-                       nl_limit = nla_nest_start(msg, j + 1);
+                       nl_limit = nla_nest_start_noflag(msg, j + 1);
                        if (!nl_limit)
                                goto nla_put_failure;
                        if (nla_put_u32(msg, NL80211_IFACE_LIMIT_MAX,
@@ -1308,7 +1309,8 @@ static int nl80211_send_wowlan_tcp_caps(struct cfg80211_registered_device *rdev,
        if (!tcp)
                return 0;
 
-       nl_tcp = nla_nest_start(msg, NL80211_WOWLAN_TRIG_TCP_CONNECTION);
+       nl_tcp = nla_nest_start_noflag(msg,
+                                      NL80211_WOWLAN_TRIG_TCP_CONNECTION);
        if (!nl_tcp)
                return -ENOBUFS;
 
@@ -1348,7 +1350,8 @@ static int nl80211_send_wowlan(struct sk_buff *msg,
        if (!rdev->wiphy.wowlan)
                return 0;
 
-       nl_wowlan = nla_nest_start(msg, NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED);
+       nl_wowlan = nla_nest_start_noflag(msg,
+                                         NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED);
        if (!nl_wowlan)
                return -ENOBUFS;
 
@@ -1477,7 +1480,8 @@ static int nl80211_send_band_rateinfo(struct sk_buff *msg,
 
        if (sband->n_iftype_data) {
                struct nlattr *nl_iftype_data =
-                       nla_nest_start(msg, NL80211_BAND_ATTR_IFTYPE_DATA);
+                       nla_nest_start_noflag(msg,
+                                             NL80211_BAND_ATTR_IFTYPE_DATA);
                int err;
 
                if (!nl_iftype_data)
@@ -1486,7 +1490,7 @@ static int nl80211_send_band_rateinfo(struct sk_buff *msg,
                for (i = 0; i < sband->n_iftype_data; i++) {
                        struct nlattr *iftdata;
 
-                       iftdata = nla_nest_start(msg, i + 1);
+                       iftdata = nla_nest_start_noflag(msg, i + 1);
                        if (!iftdata)
                                return -ENOBUFS;
 
@@ -1502,12 +1506,12 @@ static int nl80211_send_band_rateinfo(struct sk_buff *msg,
        }
 
        /* add bitrates */
-       nl_rates = nla_nest_start(msg, NL80211_BAND_ATTR_RATES);
+       nl_rates = nla_nest_start_noflag(msg, NL80211_BAND_ATTR_RATES);
        if (!nl_rates)
                return -ENOBUFS;
 
        for (i = 0; i < sband->n_bitrates; i++) {
-               nl_rate = nla_nest_start(msg, i);
+               nl_rate = nla_nest_start_noflag(msg, i);
                if (!nl_rate)
                        return -ENOBUFS;
 
@@ -1540,12 +1544,12 @@ nl80211_send_mgmt_stypes(struct sk_buff *msg,
        if (!mgmt_stypes)
                return 0;
 
-       nl_ifs = nla_nest_start(msg, NL80211_ATTR_TX_FRAME_TYPES);
+       nl_ifs = nla_nest_start_noflag(msg, NL80211_ATTR_TX_FRAME_TYPES);
        if (!nl_ifs)
                return -ENOBUFS;
 
        for (ift = 0; ift < NUM_NL80211_IFTYPES; ift++) {
-               nl_ftypes = nla_nest_start(msg, ift);
+               nl_ftypes = nla_nest_start_noflag(msg, ift);
                if (!nl_ftypes)
                        return -ENOBUFS;
                i = 0;
@@ -1563,12 +1567,12 @@ nl80211_send_mgmt_stypes(struct sk_buff *msg,
 
        nla_nest_end(msg, nl_ifs);
 
-       nl_ifs = nla_nest_start(msg, NL80211_ATTR_RX_FRAME_TYPES);
+       nl_ifs = nla_nest_start_noflag(msg, NL80211_ATTR_RX_FRAME_TYPES);
        if (!nl_ifs)
                return -ENOBUFS;
 
        for (ift = 0; ift < NUM_NL80211_IFTYPES; ift++) {
-               nl_ftypes = nla_nest_start(msg, ift);
+               nl_ftypes = nla_nest_start_noflag(msg, ift);
                if (!nl_ftypes)
                        return -ENOBUFS;
                i = 0;
@@ -1686,7 +1690,7 @@ nl80211_send_pmsr_ftm_capa(const struct cfg80211_pmsr_capabilities *cap,
        if (!cap->ftm.supported)
                return 0;
 
-       ftm = nla_nest_start(msg, NL80211_PMSR_TYPE_FTM);
+       ftm = nla_nest_start_noflag(msg, NL80211_PMSR_TYPE_FTM);
        if (!ftm)
                return -ENOBUFS;
 
@@ -1734,7 +1738,7 @@ static int nl80211_send_pmsr_capa(struct cfg80211_registered_device *rdev,
         * will genlmsg_cancel() if we fail
         */
 
-       pmsr = nla_nest_start(msg, NL80211_ATTR_PEER_MEASUREMENTS);
+       pmsr = nla_nest_start_noflag(msg, NL80211_ATTR_PEER_MEASUREMENTS);
        if (!pmsr)
                return -ENOBUFS;
 
@@ -1749,7 +1753,7 @@ static int nl80211_send_pmsr_capa(struct cfg80211_registered_device *rdev,
            nla_put_flag(msg, NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR))
                return -ENOBUFS;
 
-       caps = nla_nest_start(msg, NL80211_PMSR_ATTR_TYPE_CAPA);
+       caps = nla_nest_start_noflag(msg, NL80211_PMSR_ATTR_TYPE_CAPA);
        if (!caps)
                return -ENOBUFS;
 
@@ -1910,7 +1914,8 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                        break;
                /* fall through */
        case 3:
-               nl_bands = nla_nest_start(msg, NL80211_ATTR_WIPHY_BANDS);
+               nl_bands = nla_nest_start_noflag(msg,
+                                                NL80211_ATTR_WIPHY_BANDS);
                if (!nl_bands)
                        goto nla_put_failure;
 
@@ -1923,7 +1928,7 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                        if (!sband)
                                continue;
 
-                       nl_band = nla_nest_start(msg, band);
+                       nl_band = nla_nest_start_noflag(msg, band);
                        if (!nl_band)
                                goto nla_put_failure;
 
@@ -1937,15 +1942,16 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                                /* fall through */
                        default:
                                /* add frequencies */
-                               nl_freqs = nla_nest_start(
-                                       msg, NL80211_BAND_ATTR_FREQS);
+                               nl_freqs = nla_nest_start_noflag(msg,
+                                                                NL80211_BAND_ATTR_FREQS);
                                if (!nl_freqs)
                                        goto nla_put_failure;
 
                                for (i = state->chan_start - 1;
                                     i < sband->n_channels;
                                     i++) {
-                                       nl_freq = nla_nest_start(msg, i);
+                                       nl_freq = nla_nest_start_noflag(msg,
+                                                                       i);
                                        if (!nl_freq)
                                                goto nla_put_failure;
 
@@ -1990,7 +1996,8 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                        break;
                /* fall through */
        case 4:
-               nl_cmds = nla_nest_start(msg, NL80211_ATTR_SUPPORTED_COMMANDS);
+               nl_cmds = nla_nest_start_noflag(msg,
+                                               NL80211_ATTR_SUPPORTED_COMMANDS);
                if (!nl_cmds)
                        goto nla_put_failure;
 
@@ -2138,7 +2145,8 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                        const struct nl80211_vendor_cmd_info *info;
                        struct nlattr *nested;
 
-                       nested = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA);
+                       nested = nla_nest_start_noflag(msg,
+                                                      NL80211_ATTR_VENDOR_DATA);
                        if (!nested)
                                goto nla_put_failure;
 
@@ -2154,8 +2162,8 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                        const struct nl80211_vendor_cmd_info *info;
                        struct nlattr *nested;
 
-                       nested = nla_nest_start(msg,
-                                               NL80211_ATTR_VENDOR_EVENTS);
+                       nested = nla_nest_start_noflag(msg,
+                                                      NL80211_ATTR_VENDOR_EVENTS);
                        if (!nested)
                                goto nla_put_failure;
 
@@ -2192,7 +2200,8 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                        struct nlattr *nested;
                        u32 bss_select_support = rdev->wiphy.bss_select_support;
 
-                       nested = nla_nest_start(msg, NL80211_ATTR_BSS_SELECT);
+                       nested = nla_nest_start_noflag(msg,
+                                                      NL80211_ATTR_BSS_SELECT);
                        if (!nested)
                                goto nla_put_failure;
 
@@ -2214,8 +2223,8 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
                    rdev->wiphy.iftype_ext_capab) {
                        struct nlattr *nested_ext_capab, *nested;
 
-                       nested = nla_nest_start(msg,
-                                               NL80211_ATTR_IFTYPE_EXT_CAPA);
+                       nested = nla_nest_start_noflag(msg,
+                                                      NL80211_ATTR_IFTYPE_EXT_CAPA);
                        if (!nested)
                                goto nla_put_failure;
 
@@ -2225,7 +2234,8 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
 
                                capab = &rdev->wiphy.iftype_ext_capab[i];
 
-                               nested_ext_capab = nla_nest_start(msg, i);
+                               nested_ext_capab = nla_nest_start_noflag(msg,
+                                                                        i);
                                if (!nested_ext_capab ||
                                    nla_put_u32(msg, NL80211_ATTR_IFTYPE,
                                                capab->iftype) ||
@@ -3539,7 +3549,7 @@ static void get_key_callback(void *c, struct key_params *params)
                         params->cipher)))
                goto nla_put_failure;
 
-       key = nla_nest_start(cookie->msg, NL80211_ATTR_KEY);
+       key = nla_nest_start_noflag(cookie->msg, NL80211_ATTR_KEY);
        if (!key)
                goto nla_put_failure;
 
@@ -4723,7 +4733,7 @@ bool nl80211_put_sta_rate(struct sk_buff *msg, struct rate_info *info, int attr)
        u16 bitrate_compat;
        enum nl80211_rate_info rate_flg;
 
-       rate = nla_nest_start(msg, attr);
+       rate = nla_nest_start_noflag(msg, attr);
        if (!rate)
                return false;
 
@@ -4810,7 +4820,7 @@ static bool nl80211_put_signal(struct sk_buff *msg, u8 mask, s8 *signal,
        if (!mask)
                return true;
 
-       attr = nla_nest_start(msg, id);
+       attr = nla_nest_start_noflag(msg, id);
        if (!attr)
                return false;
 
@@ -4845,7 +4855,7 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
            nla_put_u32(msg, NL80211_ATTR_GENERATION, sinfo->generation))
                goto nla_put_failure;
 
-       sinfoattr = nla_nest_start(msg, NL80211_ATTR_STA_INFO);
+       sinfoattr = nla_nest_start_noflag(msg, NL80211_ATTR_STA_INFO);
        if (!sinfoattr)
                goto nla_put_failure;
 
@@ -4934,7 +4944,8 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
        PUT_SINFO(CONNECTED_TO_GATE, connected_to_gate, u8);
 
        if (sinfo->filled & BIT_ULL(NL80211_STA_INFO_BSS_PARAM)) {
-               bss_param = nla_nest_start(msg, NL80211_STA_INFO_BSS_PARAM);
+               bss_param = nla_nest_start_noflag(msg,
+                                                 NL80211_STA_INFO_BSS_PARAM);
                if (!bss_param)
                        goto nla_put_failure;
 
@@ -4977,7 +4988,8 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
                struct nlattr *tidsattr;
                int tid;
 
-               tidsattr = nla_nest_start(msg, NL80211_STA_INFO_TID_STATS);
+               tidsattr = nla_nest_start_noflag(msg,
+                                                NL80211_STA_INFO_TID_STATS);
                if (!tidsattr)
                        goto nla_put_failure;
 
@@ -4990,7 +5002,7 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
                        if (!tidstats->filled)
                                continue;
 
-                       tidattr = nla_nest_start(msg, tid + 1);
+                       tidattr = nla_nest_start_noflag(msg, tid + 1);
                        if (!tidattr)
                                goto nla_put_failure;
 
@@ -5875,7 +5887,7 @@ static int nl80211_send_mpath(struct sk_buff *msg, u32 portid, u32 seq,
            nla_put_u32(msg, NL80211_ATTR_GENERATION, pinfo->generation))
                goto nla_put_failure;
 
-       pinfoattr = nla_nest_start(msg, NL80211_ATTR_MPATH_INFO);
+       pinfoattr = nla_nest_start_noflag(msg, NL80211_ATTR_MPATH_INFO);
        if (!pinfoattr)
                goto nla_put_failure;
        if ((pinfo->filled & MPATH_INFO_FRAME_QLEN) &&
@@ -6326,7 +6338,7 @@ static int nl80211_get_mesh_config(struct sk_buff *skb,
                             NL80211_CMD_GET_MESH_CONFIG);
        if (!hdr)
                goto out;
-       pinfoattr = nla_nest_start(msg, NL80211_ATTR_MESH_CONFIG);
+       pinfoattr = nla_nest_start_noflag(msg, NL80211_ATTR_MESH_CONFIG);
        if (!pinfoattr)
                goto nla_put_failure;
        if (nla_put_u32(msg, NL80211_ATTR_IFINDEX, dev->ifindex) ||
@@ -6705,7 +6717,7 @@ static int nl80211_put_regdom(const struct ieee80211_regdomain *regdom,
             nla_put_u8(msg, NL80211_ATTR_DFS_REGION, regdom->dfs_region)))
                goto nla_put_failure;
 
-       nl_reg_rules = nla_nest_start(msg, NL80211_ATTR_REG_RULES);
+       nl_reg_rules = nla_nest_start_noflag(msg, NL80211_ATTR_REG_RULES);
        if (!nl_reg_rules)
                goto nla_put_failure;
 
@@ -6720,7 +6732,7 @@ static int nl80211_put_regdom(const struct ieee80211_regdomain *regdom,
                freq_range = &reg_rule->freq_range;
                power_rule = &reg_rule->power_rule;
 
-               nl_reg_rule = nla_nest_start(msg, i);
+               nl_reg_rule = nla_nest_start_noflag(msg, i);
                if (!nl_reg_rule)
                        goto nla_put_failure;
 
@@ -8389,7 +8401,7 @@ static int nl80211_send_bss(struct sk_buff *msg, struct netlink_callback *cb,
                              NL80211_ATTR_PAD))
                goto nla_put_failure;
 
-       bss = nla_nest_start(msg, NL80211_ATTR_BSS);
+       bss = nla_nest_start_noflag(msg, NL80211_ATTR_BSS);
        if (!bss)
                goto nla_put_failure;
        if ((!is_zero_ether_addr(res->bssid) &&
@@ -8566,7 +8578,7 @@ static int nl80211_send_survey(struct sk_buff *msg, u32 portid, u32 seq,
        if (nla_put_u32(msg, NL80211_ATTR_IFINDEX, dev->ifindex))
                goto nla_put_failure;
 
-       infoattr = nla_nest_start(msg, NL80211_ATTR_SURVEY_INFO);
+       infoattr = nla_nest_start_noflag(msg, NL80211_ATTR_SURVEY_INFO);
        if (!infoattr)
                goto nla_put_failure;
 
@@ -9407,7 +9419,7 @@ __cfg80211_alloc_vendor_skb(struct cfg80211_registered_device *rdev,
                        goto nla_put_failure;
        }
 
-       data = nla_nest_start(skb, attr);
+       data = nla_nest_start_noflag(skb, attr);
        if (!data)
                goto nla_put_failure;
 
@@ -9581,7 +9593,7 @@ static int nl80211_testmode_dump(struct sk_buff *skb,
                        break;
                }
 
-               tmdata = nla_nest_start(skb, NL80211_ATTR_TESTDATA);
+               tmdata = nla_nest_start_noflag(skb, NL80211_ATTR_TESTDATA);
                if (!tmdata) {
                        genlmsg_cancel(skb, hdr);
                        break;
@@ -10859,12 +10871,12 @@ static int nl80211_send_wowlan_patterns(struct sk_buff *msg,
        if (!wowlan->n_patterns)
                return 0;
 
-       nl_pats = nla_nest_start(msg, NL80211_WOWLAN_TRIG_PKT_PATTERN);
+       nl_pats = nla_nest_start_noflag(msg, NL80211_WOWLAN_TRIG_PKT_PATTERN);
        if (!nl_pats)
                return -ENOBUFS;
 
        for (i = 0; i < wowlan->n_patterns; i++) {
-               nl_pat = nla_nest_start(msg, i + 1);
+               nl_pat = nla_nest_start_noflag(msg, i + 1);
                if (!nl_pat)
                        return -ENOBUFS;
                pat_len = wowlan->patterns[i].pattern_len;
@@ -10890,7 +10902,8 @@ static int nl80211_send_wowlan_tcp(struct sk_buff *msg,
        if (!tcp)
                return 0;
 
-       nl_tcp = nla_nest_start(msg, NL80211_WOWLAN_TRIG_TCP_CONNECTION);
+       nl_tcp = nla_nest_start_noflag(msg,
+                                      NL80211_WOWLAN_TRIG_TCP_CONNECTION);
        if (!nl_tcp)
                return -ENOBUFS;
 
@@ -10934,7 +10947,7 @@ static int nl80211_send_wowlan_nd(struct sk_buff *msg,
        if (!req)
                return 0;
 
-       nd = nla_nest_start(msg, NL80211_WOWLAN_TRIG_NET_DETECT);
+       nd = nla_nest_start_noflag(msg, NL80211_WOWLAN_TRIG_NET_DETECT);
        if (!nd)
                return -ENOBUFS;
 
@@ -10960,7 +10973,7 @@ static int nl80211_send_wowlan_nd(struct sk_buff *msg,
                        return -ENOBUFS;
        }
 
-       freqs = nla_nest_start(msg, NL80211_ATTR_SCAN_FREQUENCIES);
+       freqs = nla_nest_start_noflag(msg, NL80211_ATTR_SCAN_FREQUENCIES);
        if (!freqs)
                return -ENOBUFS;
 
@@ -10972,12 +10985,13 @@ static int nl80211_send_wowlan_nd(struct sk_buff *msg,
        nla_nest_end(msg, freqs);
 
        if (req->n_match_sets) {
-               matches = nla_nest_start(msg, NL80211_ATTR_SCHED_SCAN_MATCH);
+               matches = nla_nest_start_noflag(msg,
+                                               NL80211_ATTR_SCHED_SCAN_MATCH);
                if (!matches)
                        return -ENOBUFS;
 
                for (i = 0; i < req->n_match_sets; i++) {
-                       match = nla_nest_start(msg, i);
+                       match = nla_nest_start_noflag(msg, i);
                        if (!match)
                                return -ENOBUFS;
 
@@ -10990,12 +11004,12 @@ static int nl80211_send_wowlan_nd(struct sk_buff *msg,
                nla_nest_end(msg, matches);
        }
 
-       scan_plans = nla_nest_start(msg, NL80211_ATTR_SCHED_SCAN_PLANS);
+       scan_plans = nla_nest_start_noflag(msg, NL80211_ATTR_SCHED_SCAN_PLANS);
        if (!scan_plans)
                return -ENOBUFS;
 
        for (i = 0; i < req->n_scan_plans; i++) {
-               scan_plan = nla_nest_start(msg, i + 1);
+               scan_plan = nla_nest_start_noflag(msg, i + 1);
                if (!scan_plan)
                        return -ENOBUFS;
 
@@ -11044,7 +11058,8 @@ static int nl80211_get_wowlan(struct sk_buff *skb, struct genl_info *info)
        if (rdev->wiphy.wowlan_config) {
                struct nlattr *nl_wowlan;
 
-               nl_wowlan = nla_nest_start(msg, NL80211_ATTR_WOWLAN_TRIGGERS);
+               nl_wowlan = nla_nest_start_noflag(msg,
+                                                 NL80211_ATTR_WOWLAN_TRIGGERS);
                if (!nl_wowlan)
                        goto nla_put_failure;
 
@@ -11478,12 +11493,12 @@ static int nl80211_send_coalesce_rules(struct sk_buff *msg,
        if (!rdev->coalesce->n_rules)
                return 0;
 
-       nl_rules = nla_nest_start(msg, NL80211_ATTR_COALESCE_RULE);
+       nl_rules = nla_nest_start_noflag(msg, NL80211_ATTR_COALESCE_RULE);
        if (!nl_rules)
                return -ENOBUFS;
 
        for (i = 0; i < rdev->coalesce->n_rules; i++) {
-               nl_rule = nla_nest_start(msg, i + 1);
+               nl_rule = nla_nest_start_noflag(msg, i + 1);
                if (!nl_rule)
                        return -ENOBUFS;
 
@@ -11496,13 +11511,13 @@ static int nl80211_send_coalesce_rules(struct sk_buff *msg,
                                rule->condition))
                        return -ENOBUFS;
 
-               nl_pats = nla_nest_start(msg,
-                               NL80211_ATTR_COALESCE_RULE_PKT_PATTERN);
+               nl_pats = nla_nest_start_noflag(msg,
+                                               NL80211_ATTR_COALESCE_RULE_PKT_PATTERN);
                if (!nl_pats)
                        return -ENOBUFS;
 
                for (j = 0; j < rule->n_patterns; j++) {
-                       nl_pat = nla_nest_start(msg, j + 1);
+                       nl_pat = nla_nest_start_noflag(msg, j + 1);
                        if (!nl_pat)
                                return -ENOBUFS;
                        pat_len = rule->patterns[j].pattern_len;
@@ -12254,7 +12269,7 @@ out:
                              NL80211_ATTR_PAD))
                goto nla_put_failure;
 
-       func_attr = nla_nest_start(msg, NL80211_ATTR_NAN_FUNC);
+       func_attr = nla_nest_start_noflag(msg, NL80211_ATTR_NAN_FUNC);
        if (!func_attr)
                goto nla_put_failure;
 
@@ -12371,11 +12386,12 @@ void cfg80211_nan_match(struct wireless_dev *wdev,
            nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, match->addr))
                goto nla_put_failure;
 
-       match_attr = nla_nest_start(msg, NL80211_ATTR_NAN_MATCH);
+       match_attr = nla_nest_start_noflag(msg, NL80211_ATTR_NAN_MATCH);
        if (!match_attr)
                goto nla_put_failure;
 
-       local_func_attr = nla_nest_start(msg, NL80211_NAN_MATCH_FUNC_LOCAL);
+       local_func_attr = nla_nest_start_noflag(msg,
+                                               NL80211_NAN_MATCH_FUNC_LOCAL);
        if (!local_func_attr)
                goto nla_put_failure;
 
@@ -12384,7 +12400,8 @@ void cfg80211_nan_match(struct wireless_dev *wdev,
 
        nla_nest_end(msg, local_func_attr);
 
-       peer_func_attr = nla_nest_start(msg, NL80211_NAN_MATCH_FUNC_PEER);
+       peer_func_attr = nla_nest_start_noflag(msg,
+                                              NL80211_NAN_MATCH_FUNC_PEER);
        if (!peer_func_attr)
                goto nla_put_failure;
 
@@ -12450,7 +12467,7 @@ void cfg80211_nan_func_terminated(struct wireless_dev *wdev,
                              NL80211_ATTR_PAD))
                goto nla_put_failure;
 
-       func_attr = nla_nest_start(msg, NL80211_ATTR_NAN_FUNC);
+       func_attr = nla_nest_start_noflag(msg, NL80211_ATTR_NAN_FUNC);
        if (!func_attr)
                goto nla_put_failure;
 
@@ -12799,7 +12816,8 @@ static int nl80211_vendor_cmd_dump(struct sk_buff *skb,
                        break;
                }
 
-               vendor_data = nla_nest_start(skb, NL80211_ATTR_VENDOR_DATA);
+               vendor_data = nla_nest_start_noflag(skb,
+                                                   NL80211_ATTR_VENDOR_DATA);
                if (!vendor_data) {
                        genlmsg_cancel(skb, hdr);
                        break;
@@ -13343,7 +13361,8 @@ static int nl80211_get_ftm_responder_stats(struct sk_buff *skb,
        if (nla_put_u32(msg, NL80211_ATTR_IFINDEX, dev->ifindex))
                goto nla_put_failure;
 
-       ftm_stats_attr = nla_nest_start(msg, NL80211_ATTR_FTM_RESPONDER_STATS);
+       ftm_stats_attr = nla_nest_start_noflag(msg,
+                                              NL80211_ATTR_FTM_RESPONDER_STATS);
        if (!ftm_stats_attr)
                goto nla_put_failure;
 
@@ -14366,7 +14385,7 @@ static int nl80211_add_scan_req(struct sk_buff *msg,
        if (WARN_ON(!req))
                return 0;
 
-       nest = nla_nest_start(msg, NL80211_ATTR_SCAN_SSIDS);
+       nest = nla_nest_start_noflag(msg, NL80211_ATTR_SCAN_SSIDS);
        if (!nest)
                goto nla_put_failure;
        for (i = 0; i < req->n_ssids; i++) {
@@ -14375,7 +14394,7 @@ static int nl80211_add_scan_req(struct sk_buff *msg,
        }
        nla_nest_end(msg, nest);
 
-       nest = nla_nest_start(msg, NL80211_ATTR_SCAN_FREQUENCIES);
+       nest = nla_nest_start_noflag(msg, NL80211_ATTR_SCAN_FREQUENCIES);
        if (!nest)
                goto nla_put_failure;
        for (i = 0; i < req->n_channels; i++) {
@@ -14637,7 +14656,7 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
 
        if (uapsd_queues >= 0) {
                struct nlattr *nla_wmm =
-                       nla_nest_start(msg, NL80211_ATTR_STA_WME);
+                       nla_nest_start_noflag(msg, NL80211_ATTR_STA_WME);
                if (!nla_wmm)
                        goto nla_put_failure;
 
@@ -15078,7 +15097,7 @@ void nl80211_send_beacon_hint_event(struct wiphy *wiphy,
                goto nla_put_failure;
 
        /* Before */
-       nl_freq = nla_nest_start(msg, NL80211_ATTR_FREQ_BEFORE);
+       nl_freq = nla_nest_start_noflag(msg, NL80211_ATTR_FREQ_BEFORE);
        if (!nl_freq)
                goto nla_put_failure;
 
@@ -15087,7 +15106,7 @@ void nl80211_send_beacon_hint_event(struct wiphy *wiphy,
        nla_nest_end(msg, nl_freq);
 
        /* After */
-       nl_freq = nla_nest_start(msg, NL80211_ATTR_FREQ_AFTER);
+       nl_freq = nla_nest_start_noflag(msg, NL80211_ATTR_FREQ_AFTER);
        if (!nl_freq)
                goto nla_put_failure;
 
@@ -15521,7 +15540,7 @@ static struct sk_buff *cfg80211_prepare_cqm(struct net_device *dev,
        if (mac && nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, mac))
                goto nla_put_failure;
 
-       cb[1] = nla_nest_start(msg, NL80211_ATTR_CQM);
+       cb[1] = nla_nest_start_noflag(msg, NL80211_ATTR_CQM);
        if (!cb[1])
                goto nla_put_failure;
 
@@ -15682,7 +15701,7 @@ static void nl80211_gtk_rekey_notify(struct cfg80211_registered_device *rdev,
            nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, bssid))
                goto nla_put_failure;
 
-       rekey_attr = nla_nest_start(msg, NL80211_ATTR_REKEY_DATA);
+       rekey_attr = nla_nest_start_noflag(msg, NL80211_ATTR_REKEY_DATA);
        if (!rekey_attr)
                goto nla_put_failure;
 
@@ -15737,7 +15756,7 @@ nl80211_pmksa_candidate_notify(struct cfg80211_registered_device *rdev,
            nla_put_u32(msg, NL80211_ATTR_IFINDEX, netdev->ifindex))
                goto nla_put_failure;
 
-       attr = nla_nest_start(msg, NL80211_ATTR_PMKSA_CANDIDATE);
+       attr = nla_nest_start_noflag(msg, NL80211_ATTR_PMKSA_CANDIDATE);
        if (!attr)
                goto nla_put_failure;
 
@@ -16047,15 +16066,15 @@ static int cfg80211_net_detect_results(struct sk_buff *msg,
        struct nlattr *nl_results, *nl_match, *nl_freqs;
        int i, j;
 
-       nl_results = nla_nest_start(
-               msg, NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS);
+       nl_results = nla_nest_start_noflag(msg,
+                                          NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS);
        if (!nl_results)
                return -EMSGSIZE;
 
        for (i = 0; i < nd->n_matches; i++) {
                struct cfg80211_wowlan_nd_match *match = nd->matches[i];
 
-               nl_match = nla_nest_start(msg, i);
+               nl_match = nla_nest_start_noflag(msg, i);
                if (!nl_match)
                        break;
 
@@ -16073,8 +16092,8 @@ static int cfg80211_net_detect_results(struct sk_buff *msg,
                }
 
                if (match->n_channels) {
-                       nl_freqs = nla_nest_start(
-                               msg, NL80211_ATTR_SCAN_FREQUENCIES);
+                       nl_freqs = nla_nest_start_noflag(msg,
+                                                        NL80211_ATTR_SCAN_FREQUENCIES);
                        if (!nl_freqs) {
                                nla_nest_cancel(msg, nl_match);
                                goto out;
@@ -16133,7 +16152,8 @@ void cfg80211_report_wowlan_wakeup(struct wireless_dev *wdev,
        if (wakeup) {
                struct nlattr *reasons;
 
-               reasons = nla_nest_start(msg, NL80211_ATTR_WOWLAN_TRIGGERS);
+               reasons = nla_nest_start_noflag(msg,
+                                               NL80211_ATTR_WOWLAN_TRIGGERS);
                if (!reasons)
                        goto free_msg;
 
index 5e2ab01d325c8f2dee653868a6c212bdef6e8f08..5c80bccc8b3c0f5d497ce95ecb223bd64e37d75f 100644 (file)
@@ -420,22 +420,22 @@ static int nl80211_pmsr_send_result(struct sk_buff *msg,
 {
        struct nlattr *pmsr, *peers, *peer, *resp, *data, *typedata;
 
-       pmsr = nla_nest_start(msg, NL80211_ATTR_PEER_MEASUREMENTS);
+       pmsr = nla_nest_start_noflag(msg, NL80211_ATTR_PEER_MEASUREMENTS);
        if (!pmsr)
                goto error;
 
-       peers = nla_nest_start(msg, NL80211_PMSR_ATTR_PEERS);
+       peers = nla_nest_start_noflag(msg, NL80211_PMSR_ATTR_PEERS);
        if (!peers)
                goto error;
 
-       peer = nla_nest_start(msg, 1);
+       peer = nla_nest_start_noflag(msg, 1);
        if (!peer)
                goto error;
 
        if (nla_put(msg, NL80211_PMSR_PEER_ATTR_ADDR, ETH_ALEN, res->addr))
                goto error;
 
-       resp = nla_nest_start(msg, NL80211_PMSR_PEER_ATTR_RESP);
+       resp = nla_nest_start_noflag(msg, NL80211_PMSR_PEER_ATTR_RESP);
        if (!resp)
                goto error;
 
@@ -452,11 +452,11 @@ static int nl80211_pmsr_send_result(struct sk_buff *msg,
        if (res->final && nla_put_flag(msg, NL80211_PMSR_RESP_ATTR_FINAL))
                goto error;
 
-       data = nla_nest_start(msg, NL80211_PMSR_RESP_ATTR_DATA);
+       data = nla_nest_start_noflag(msg, NL80211_PMSR_RESP_ATTR_DATA);
        if (!data)
                goto error;
 
-       typedata = nla_nest_start(msg, res->type);
+       typedata = nla_nest_start_noflag(msg, res->type);
        if (!typedata)
                goto error;