logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 16b1952b45a0bdb7cf80be1d43990927db1205ff
parent 201d086aa56ae273968d9b1a9fb94cb427b52eaa
Author: Michael Forney <mforney@mforney.org>
Date:   Wed,  3 Jun 2020 13:48:51 -0700

iproute2: Update to 5.7.0

Diffstat:

Mpkg/iproute2/gen.lua11++++++++---
Mpkg/iproute2/patch/0005-Don-t-use-empty-initializer-lists.patch198++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mpkg/iproute2/patch/0007-Remove-semicolon-after-function-definitions.patch14+++++++-------
Mpkg/iproute2/patch/0008-Don-t-omit-second-operand-to-operator.patch20++++++++++----------
Mpkg/iproute2/patch/0011-Use-alloca-instead-of-VLA-when-VLA-is-not-available.patch10+++++-----
Mpkg/iproute2/ver2+-
6 files changed, 130 insertions(+), 125 deletions(-)

diff --git a/pkg/iproute2/gen.lua b/pkg/iproute2/gen.lua @@ -3,6 +3,7 @@ cflags{ '-Wold-style-definition', '-Wstrict-prototypes', '-D _GNU_SOURCE', '-D HAVE_SETNS', + [[-D 'NETNS_RUN_DIR="/run/netns"']], '-I $srcdir/include', '-I $srcdir/include/uapi', '-I $srcdir/misc', @@ -53,13 +54,17 @@ man(paths[[man/man8/( bridge ip ss ip-( addrlabel fou gue l2tp macsec maddress monitor mroute neighbour - netconf netns ntable rule sr tcp_metrics token tunnel vrf xfrm + netconf ntable rule sr tcp_metrics token tunnel vrf xfrm ) ).8]]) -for _, name in ipairs{'ip-address', 'ip-link', 'ip-route'} do +for _, name in ipairs{'ip-address', 'ip-link', 'ip-netns', 'ip-route'} do local out = '$outdir/'..name..'.8' build('sed', out, '$srcdir/man/man8/'..name..'.8.in', { - expr='s,@SYSCONFDIR@,/etc,g' + expr={ + '-e s,@SYSCONFDIR@,/etc,g', + '-e s,@NETNS_ETC_DIR@,/etc/netns,g', + '-e s,@NETNS_RUN_DIR@,/run/netns,g', + }, }) man{out} end diff --git a/pkg/iproute2/patch/0005-Don-t-use-empty-initializer-lists.patch b/pkg/iproute2/patch/0005-Don-t-use-empty-initializer-lists.patch @@ -1,4 +1,4 @@ -From a2fd76cbac7bb7266dd88e3648c8f51804805796 Mon Sep 17 00:00:00 2001 +From 9c43080d07253a8b109b3bbe576f49a8ccf37c12 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 16 Jun 2019 12:21:05 -0700 Subject: [PATCH] Don't use empty initializer lists @@ -103,10 +103,10 @@ index 1f2cebd8..124fef49 100644 short vid = 0; diff --git a/bridge/vlan.c b/bridge/vlan.c -index f65e47f6..21233a84 100644 +index cc1c34cf..231f8543 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c -@@ -102,7 +102,7 @@ static int add_tunnel_info_range(struct nlmsghdr *n, int reqsize, +@@ -107,7 +107,7 @@ static int add_tunnel_info_range(struct nlmsghdr *n, int reqsize, static int add_vlan_info_range(struct nlmsghdr *n, int reqsize, __u16 vid_start, int16_t vid_end, __u16 flags) { @@ -115,7 +115,7 @@ index f65e47f6..21233a84 100644 vinfo.flags = flags; vinfo.vid = vid_start; -@@ -141,7 +141,7 @@ static int vlan_modify(int cmd, int argc, char **argv) +@@ -146,7 +146,7 @@ static int vlan_modify(int cmd, int argc, char **argv) short vid = -1; short vid_end = -1; struct rtattr *afspec; @@ -125,10 +125,10 @@ index f65e47f6..21233a84 100644 unsigned short flags = 0; __u32 tun_id_start = 0; diff --git a/devlink/devlink.c b/devlink/devlink.c -index f9e58c1d..ae54374e 100644 +index 16602abf..8d9648d4 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c -@@ -551,7 +551,7 @@ static int attr_stats_cb(const struct nlattr *attr, void *data) +@@ -587,7 +587,7 @@ static int attr_stats_cb(const struct nlattr *attr, void *data) static int ifname_map_cb(const struct nlmsghdr *nlh, void *data) { @@ -137,7 +137,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); struct dl *dl = data; struct ifname_map *ifname_map; -@@ -2130,7 +2130,7 @@ static void pr_out_eswitch(struct dl *dl, struct nlattr **tb) +@@ -2206,7 +2206,7 @@ static void pr_out_eswitch(struct dl *dl, struct nlattr **tb) static int cmd_dev_eswitch_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -146,7 +146,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -2293,7 +2293,7 @@ static const struct param_val_conv param_val_conv[] = { +@@ -2369,7 +2369,7 @@ static const struct param_val_conv param_val_conv[] = { static void pr_out_param_value(struct dl *dl, const char *nla_name, int nla_type, struct nlattr *nl) { @@ -155,7 +155,7 @@ index f9e58c1d..ae54374e 100644 struct nlattr *val_attr; const char *vstr; bool conv_exists; -@@ -2375,7 +2375,7 @@ static void pr_out_param_value(struct dl *dl, const char *nla_name, +@@ -2451,7 +2451,7 @@ static void pr_out_param_value(struct dl *dl, const char *nla_name, static void pr_out_param(struct dl *dl, struct nlattr **tb, bool array) { @@ -164,7 +164,7 @@ index f9e58c1d..ae54374e 100644 struct nlattr *param_value_attr; const char *nla_name; int nla_type; -@@ -2418,7 +2418,7 @@ static void pr_out_param(struct dl *dl, struct nlattr **tb, bool array) +@@ -2494,7 +2494,7 @@ static void pr_out_param(struct dl *dl, struct nlattr **tb, bool array) static int cmd_dev_param_show_cb(const struct nlmsghdr *nlh, void *data) { struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -173,7 +173,7 @@ index f9e58c1d..ae54374e 100644 struct dl *dl = data; mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -2444,8 +2444,8 @@ struct param_ctx { +@@ -2520,8 +2520,8 @@ struct param_ctx { static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) { struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -184,7 +184,7 @@ index f9e58c1d..ae54374e 100644 struct nlattr *param_value_attr; enum devlink_param_cmode cmode; struct param_ctx *ctx = data; -@@ -2469,7 +2469,7 @@ static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) +@@ -2545,7 +2545,7 @@ static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) nla_type = mnl_attr_get_u8(nla_param[DEVLINK_ATTR_PARAM_TYPE]); mnl_attr_for_each_nested(param_value_attr, nla_param[DEVLINK_ATTR_PARAM_VALUES_LIST]) { @@ -193,7 +193,7 @@ index f9e58c1d..ae54374e 100644 struct nlattr *val_attr; err = mnl_attr_parse_nested(param_value_attr, -@@ -2511,7 +2511,7 @@ static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) +@@ -2587,7 +2587,7 @@ static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) static int cmd_dev_param_set(struct dl *dl) { @@ -202,7 +202,7 @@ index f9e58c1d..ae54374e 100644 struct nlmsghdr *nlh; bool conv_exists; uint32_t val_u32; -@@ -2666,7 +2666,7 @@ static int cmd_dev_param(struct dl *dl) +@@ -2742,7 +2742,7 @@ static int cmd_dev_param(struct dl *dl) static int cmd_dev_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -211,7 +211,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); uint8_t reload_failed = 0; -@@ -2743,7 +2743,7 @@ static void pr_out_versions_single(struct dl *dl, const struct nlmsghdr *nlh, +@@ -2814,7 +2814,7 @@ static void pr_out_versions_single(struct dl *dl, const struct nlmsghdr *nlh, struct nlattr *version; mnl_attr_for_each(version, nlh, sizeof(struct genlmsghdr)) { @@ -220,7 +220,7 @@ index f9e58c1d..ae54374e 100644 const char *ver_value; const char *ver_name; int err; -@@ -2823,7 +2823,7 @@ static void pr_out_info(struct dl *dl, const struct nlmsghdr *nlh, +@@ -2894,7 +2894,7 @@ static void pr_out_info(struct dl *dl, const struct nlmsghdr *nlh, static int cmd_versions_show_cb(const struct nlmsghdr *nlh, void *data) { struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -229,7 +229,7 @@ index f9e58c1d..ae54374e 100644 bool has_versions, has_info; struct dl *dl = data; -@@ -3228,7 +3228,7 @@ static void pr_out_port(struct dl *dl, struct nlattr **tb) +@@ -3290,7 +3290,7 @@ static void pr_out_port(struct dl *dl, struct nlattr **tb) static int cmd_port_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -238,7 +238,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3372,7 +3372,7 @@ static void pr_out_sb(struct dl *dl, struct nlattr **tb) +@@ -3434,7 +3434,7 @@ static void pr_out_sb(struct dl *dl, struct nlattr **tb) static int cmd_sb_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -247,7 +247,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3451,7 +3451,7 @@ static void pr_out_sb_pool(struct dl *dl, struct nlattr **tb) +@@ -3513,7 +3513,7 @@ static void pr_out_sb_pool(struct dl *dl, struct nlattr **tb) static int cmd_sb_pool_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -256,7 +256,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3537,7 +3537,7 @@ static void pr_out_sb_port_pool(struct dl *dl, struct nlattr **tb) +@@ -3599,7 +3599,7 @@ static void pr_out_sb_port_pool(struct dl *dl, struct nlattr **tb) static int cmd_sb_port_pool_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -265,7 +265,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3640,7 +3640,7 @@ static void pr_out_sb_tc_bind(struct dl *dl, struct nlattr **tb) +@@ -3702,7 +3702,7 @@ static void pr_out_sb_tc_bind(struct dl *dl, struct nlattr **tb) static int cmd_sb_tc_bind_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -274,7 +274,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3928,7 +3928,7 @@ static void cmd_sb_occ_port_pool_process(struct occ_show *occ_show, +@@ -3990,7 +3990,7 @@ static void cmd_sb_occ_port_pool_process(struct occ_show *occ_show, static int cmd_sb_occ_port_pool_process_cb(const struct nlmsghdr *nlh, void *data) { struct occ_show *occ_show = data; @@ -283,7 +283,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3979,7 +3979,7 @@ static void cmd_sb_occ_tc_pool_process(struct occ_show *occ_show, +@@ -4041,7 +4041,7 @@ static void cmd_sb_occ_tc_pool_process(struct occ_show *occ_show, static int cmd_sb_occ_tc_pool_process_cb(const struct nlmsghdr *nlh, void *data) { struct occ_show *occ_show = data; @@ -292,7 +292,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -4237,7 +4237,7 @@ static void pr_out_trap_group(struct dl *dl, struct nlattr **tb, bool array); +@@ -4327,7 +4327,7 @@ static void pr_out_trap_policer(struct dl *dl, struct nlattr **tb, bool array); static int cmd_mon_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -301,7 +301,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); uint8_t cmd = genl->cmd; -@@ -4729,7 +4729,7 @@ static void pr_out_dpipe_headers(struct dpipe_ctx *ctx, +@@ -4854,7 +4854,7 @@ static void pr_out_dpipe_headers(struct dpipe_ctx *ctx, static int dpipe_header_field_get(struct nlattr *nl, struct dpipe_field *field) { @@ -310,7 +310,7 @@ index f9e58c1d..ae54374e 100644 const char *name; int err; -@@ -4780,7 +4780,7 @@ static unsigned int dpipe_header_field_count_get(struct nlattr *nla_fields) +@@ -4905,7 +4905,7 @@ static unsigned int dpipe_header_field_count_get(struct nlattr *nla_fields) static int dpipe_header_get(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -319,7 +319,7 @@ index f9e58c1d..ae54374e 100644 struct dpipe_header *header; unsigned int fields_count; const char *header_name; -@@ -4836,7 +4836,7 @@ static int dpipe_headers_get(struct dpipe_ctx *ctx, struct nlattr **tb) +@@ -4961,7 +4961,7 @@ static int dpipe_headers_get(struct dpipe_ctx *ctx, struct nlattr **tb) static int cmd_dpipe_header_cb(const struct nlmsghdr *nlh, void *data) { struct dpipe_ctx *ctx = data; @@ -328,7 +328,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); int err; -@@ -4858,7 +4858,7 @@ static int cmd_dpipe_header_cb(const struct nlmsghdr *nlh, void *data) +@@ -4983,7 +4983,7 @@ static int cmd_dpipe_header_cb(const struct nlmsghdr *nlh, void *data) static int cmd_dpipe_headers_show(struct dl *dl) { struct nlmsghdr *nlh; @@ -337,7 +337,7 @@ index f9e58c1d..ae54374e 100644 uint16_t flags = NLM_F_REQUEST | NLM_F_ACK; int err; -@@ -4949,7 +4949,7 @@ static void pr_out_dpipe_action(struct dpipe_action *action, +@@ -5078,7 +5078,7 @@ static void pr_out_dpipe_action(struct dpipe_action *action, static int dpipe_action_parse(struct dpipe_action *action, struct nlattr *nl) { @@ -346,7 +346,7 @@ index f9e58c1d..ae54374e 100644 int err; err = mnl_attr_parse_nested(nl, attr_cb, nla_action); -@@ -5034,7 +5034,7 @@ static int dpipe_match_parse(struct dpipe_match *match, +@@ -5163,7 +5163,7 @@ static int dpipe_match_parse(struct dpipe_match *match, struct nlattr *nl) { @@ -355,7 +355,7 @@ index f9e58c1d..ae54374e 100644 int err; err = mnl_attr_parse_nested(nl, attr_cb, nla_match); -@@ -5139,7 +5139,7 @@ resource_path_print(struct dl *dl, struct resources *resources, +@@ -5268,7 +5268,7 @@ resource_path_print(struct dl *dl, struct resources *resources, static int dpipe_table_show(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -364,7 +364,7 @@ index f9e58c1d..ae54374e 100644 struct dpipe_table *table; uint32_t resource_units; bool counters_enabled; -@@ -5233,7 +5233,7 @@ err_table_show: +@@ -5362,7 +5362,7 @@ err_table_show: static int cmd_dpipe_table_show_cb(const struct nlmsghdr *nlh, void *data) { struct dpipe_ctx *ctx = data; @@ -373,7 +373,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -5251,8 +5251,8 @@ static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data); +@@ -5380,8 +5380,8 @@ static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data); static int cmd_dpipe_table_show(struct dl *dl) { struct nlmsghdr *nlh; @@ -384,7 +384,7 @@ index f9e58c1d..ae54374e 100644 uint16_t flags = NLM_F_REQUEST; int err; -@@ -5509,7 +5509,7 @@ static void pr_out_dpipe_entry_value(struct dpipe_ctx *ctx, +@@ -5638,7 +5638,7 @@ static void pr_out_dpipe_entry_value(struct dpipe_ctx *ctx, static int dpipe_entry_match_value_show(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -393,7 +393,7 @@ index f9e58c1d..ae54374e 100644 struct dpipe_match match; int err; -@@ -5540,7 +5540,7 @@ err_match_parse: +@@ -5669,7 +5669,7 @@ err_match_parse: static int dpipe_entry_action_value_show(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -402,7 +402,7 @@ index f9e58c1d..ae54374e 100644 struct dpipe_action action; int err; -@@ -5596,7 +5596,7 @@ dpipe_tables_match_values_show(struct dpipe_ctx *ctx, +@@ -5725,7 +5725,7 @@ dpipe_tables_match_values_show(struct dpipe_ctx *ctx, static int dpipe_entry_show(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -411,7 +411,7 @@ index f9e58c1d..ae54374e 100644 uint32_t entry_index; uint64_t counter; int err; -@@ -5660,7 +5660,7 @@ err_entry_show: +@@ -5789,7 +5789,7 @@ err_entry_show: static int cmd_dpipe_table_entry_dump_cb(const struct nlmsghdr *nlh, void *data) { struct dpipe_ctx *ctx = data; @@ -420,7 +420,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -5676,7 +5676,7 @@ static int cmd_dpipe_table_entry_dump_cb(const struct nlmsghdr *nlh, void *data) +@@ -5805,7 +5805,7 @@ static int cmd_dpipe_table_entry_dump_cb(const struct nlmsghdr *nlh, void *data) static int cmd_dpipe_table_dump(struct dl *dl) { struct nlmsghdr *nlh; @@ -429,7 +429,7 @@ index f9e58c1d..ae54374e 100644 uint16_t flags = NLM_F_REQUEST; int err; -@@ -5797,7 +5797,7 @@ static int +@@ -5914,7 +5914,7 @@ static int resource_get(struct resource_ctx *ctx, struct resource *resource, struct resource *parent_resource, struct nlattr *nl) { @@ -438,7 +438,7 @@ index f9e58c1d..ae54374e 100644 struct nlattr *nla_child_resource; struct nlattr *nla_resources; bool top = false; -@@ -5945,7 +5945,7 @@ static int resources_get(struct resource_ctx *ctx, struct nlattr **tb) +@@ -6062,7 +6062,7 @@ static int resources_get(struct resource_ctx *ctx, struct nlattr **tb) static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data) { struct resource_ctx *ctx = data; @@ -447,7 +447,7 @@ index f9e58c1d..ae54374e 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); int err; -@@ -5969,8 +5969,8 @@ static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data) +@@ -6086,8 +6086,8 @@ static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data) static int cmd_resource_show(struct dl *dl) { struct nlmsghdr *nlh; @@ -458,7 +458,7 @@ index f9e58c1d..ae54374e 100644 int err; err = dl_argv_parse(dl, DL_OPT_HANDLE, 0); -@@ -6065,7 +6065,7 @@ err_resource_lookup: +@@ -6182,7 +6182,7 @@ err_resource_lookup: static int cmd_resource_set(struct dl *dl) { struct nlmsghdr *nlh; @@ -467,7 +467,7 @@ index f9e58c1d..ae54374e 100644 int err; err = resource_ctx_init(&ctx, dl); -@@ -6177,7 +6177,7 @@ static void pr_out_region_snapshots_id(struct dl *dl, struct nlattr **tb, int in +@@ -6294,7 +6294,7 @@ static void pr_out_region_snapshots_id(struct dl *dl, struct nlattr **tb, int in static void pr_out_snapshots(struct dl *dl, struct nlattr **tb) { @@ -476,7 +476,7 @@ index f9e58c1d..ae54374e 100644 struct nlattr *nla_sanpshot; int err, index = 0; -@@ -6218,7 +6218,7 @@ static void pr_out_region(struct dl *dl, struct nlattr **tb) +@@ -6335,7 +6335,7 @@ static void pr_out_region(struct dl *dl, struct nlattr **tb) static int cmd_region_show_cb(const struct nlmsghdr *nlh, void *data) { struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -485,7 +485,7 @@ index f9e58c1d..ae54374e 100644 struct dl *dl = data; mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -6274,8 +6274,8 @@ static int cmd_region_read_cb(const struct nlmsghdr *nlh, void *data) +@@ -6391,8 +6391,8 @@ static int cmd_region_read_cb(const struct nlmsghdr *nlh, void *data) { struct nlattr *nla_entry, *nla_chunk_data, *nla_chunk_addr; struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -496,7 +496,7 @@ index f9e58c1d..ae54374e 100644 struct dl *dl = data; int err; -@@ -6580,7 +6580,7 @@ static int cmd_fmsg_nest(struct fmsg_cb_data *fmsg_data, uint8_t nest_value, +@@ -6717,7 +6717,7 @@ static int cmd_fmsg_nest(struct fmsg_cb_data *fmsg_data, uint8_t nest_value, static int cmd_fmsg_object_cb(const struct nlmsghdr *nlh, void *data) { struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -505,7 +505,7 @@ index f9e58c1d..ae54374e 100644 struct fmsg_cb_data *fmsg_data = data; struct dl *dl = fmsg_data->dl; struct nlattr *nla_object; -@@ -6761,7 +6761,7 @@ static void pr_out_dump_report_timestamp(struct dl *dl, const struct nlattr *att +@@ -6898,7 +6898,7 @@ static void pr_out_dump_report_timestamp(struct dl *dl, const struct nlattr *att static void pr_out_health(struct dl *dl, struct nlattr **tb_health) { @@ -514,7 +514,7 @@ index f9e58c1d..ae54374e 100644 enum devlink_health_reporter_state state; int err; -@@ -6810,7 +6810,7 @@ static void pr_out_health(struct dl *dl, struct nlattr **tb_health) +@@ -6947,7 +6947,7 @@ static void pr_out_health(struct dl *dl, struct nlattr **tb_health) static int cmd_health_show_cb(const struct nlmsghdr *nlh, void *data) { struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -660,10 +660,10 @@ index 735ab941..82060bf4 100644 while (argc > 0) { diff --git a/ip/ipmacsec.c b/ip/ipmacsec.c -index ad6ad7d6..1512823a 100644 +index 4e500e4e..c81927b6 100644 --- a/ip/ipmacsec.c +++ b/ip/ipmacsec.c -@@ -958,7 +958,7 @@ static int process(struct nlmsghdr *n, void *arg) +@@ -1022,7 +1022,7 @@ static int process(struct nlmsghdr *n, void *arg) if (ghdr->cmd != MACSEC_CMD_GET_TXSC) return 0; @@ -869,7 +869,7 @@ index d3c706d3..3cbfc4be 100644 while (argc > 0) { if (strcmp(*argv, "ptype") == 0) { diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c -index d68f600a..88362e8c 100644 +index f4bf3356..821763f3 100644 --- a/ip/xfrm_state.c +++ b/ip/xfrm_state.c @@ -305,9 +305,9 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) @@ -913,7 +913,7 @@ index d68f600a..88362e8c 100644 __u32 icvlen, trunclen; char *name; diff --git a/lib/bpf.c b/lib/bpf.c -index 10cf9bf4..f4ac5f16 100644 +index c7d45077..5d620f40 100644 --- a/lib/bpf.c +++ b/lib/bpf.c @@ -148,7 +148,7 @@ static int bpf(int cmd, union bpf_attr *attr, unsigned int size) @@ -952,7 +952,7 @@ index 10cf9bf4..f4ac5f16 100644 uint32_t len = sizeof(info); int fd, ret, dump_ok = 0; SPRINT_BUF(tmp); -@@ -457,7 +457,7 @@ static int bpf_map_selfcheck_pinned(int fd, const struct bpf_elf_map *map, +@@ -449,7 +449,7 @@ static int bpf_map_selfcheck_pinned(int fd, const struct bpf_elf_map *map, struct bpf_map_ext *ext, int length, enum bpf_prog_type type) { @@ -961,7 +961,7 @@ index 10cf9bf4..f4ac5f16 100644 int ret; ret = bpf_derive_elf_map_from_fdinfo(fd, &tmp, ext); -@@ -518,7 +518,7 @@ static int bpf_mnt_fs(const char *target) +@@ -510,7 +510,7 @@ static int bpf_mnt_fs(const char *target) static int bpf_mnt_check_target(const char *target) { @@ -970,16 +970,16 @@ index 10cf9bf4..f4ac5f16 100644 int ret; ret = stat(target, &sb); -@@ -722,7 +722,7 @@ static int bpf_gen_slave(const char *base, const char *name, +@@ -694,7 +694,7 @@ static int bpf_gen_slave(const char *base, const char *name, { - char *bpf_lnk_dir = NULL; - char *bpf_sub_dir = NULL; + char bpf_lnk_dir[PATH_MAX + NAME_MAX + 1]; + char bpf_sub_dir[PATH_MAX + NAME_MAX]; - struct stat sb = {}; + struct stat sb = {0}; int ret; - ret = asprintf(&bpf_lnk_dir, "%s%s/", base, link); -@@ -844,7 +844,7 @@ out: + snprintf(bpf_lnk_dir, sizeof(bpf_lnk_dir), "%s%s/", base, link); +@@ -801,7 +801,7 @@ out: static int bpf_obj_get(const char *pathname, enum bpf_prog_type type) { @@ -988,7 +988,7 @@ index 10cf9bf4..f4ac5f16 100644 char tmp[PATH_MAX]; if (strlen(pathname) > 2 && pathname[0] == 'm' && -@@ -1015,7 +1015,7 @@ int bpf_load_common(struct bpf_cfg_in *cfg, const struct bpf_cfg_ops *ops, +@@ -972,7 +972,7 @@ int bpf_load_common(struct bpf_cfg_in *cfg, const struct bpf_cfg_ops *ops, int bpf_parse_common(struct bpf_cfg_in *cfg, const struct bpf_cfg_ops *ops) { @@ -997,7 +997,7 @@ index 10cf9bf4..f4ac5f16 100644 if (ops->cbpf_cb) { opt_tbl[CBPF_BYTECODE] = true; -@@ -1058,7 +1058,7 @@ int bpf_graft_map(const char *map_path, uint32_t *key, int argc, char **argv) +@@ -1015,7 +1015,7 @@ int bpf_graft_map(const char *map_path, uint32_t *key, int argc, char **argv) .argc = argc, .argv = argv, }; @@ -1006,7 +1006,7 @@ index 10cf9bf4..f4ac5f16 100644 int ret, prog_fd, map_fd; uint32_t map_key; -@@ -1111,7 +1111,7 @@ out_prog: +@@ -1068,7 +1068,7 @@ out_prog: int bpf_prog_attach_fd(int prog_fd, int target_fd, enum bpf_attach_type type) { @@ -1015,7 +1015,7 @@ index 10cf9bf4..f4ac5f16 100644 attr.target_fd = target_fd; attr.attach_bpf_fd = prog_fd; -@@ -1122,7 +1122,7 @@ int bpf_prog_attach_fd(int prog_fd, int target_fd, enum bpf_attach_type type) +@@ -1079,7 +1079,7 @@ int bpf_prog_attach_fd(int prog_fd, int target_fd, enum bpf_attach_type type) int bpf_prog_detach_fd(int target_fd, enum bpf_attach_type type) { @@ -1024,7 +1024,7 @@ index 10cf9bf4..f4ac5f16 100644 attr.target_fd = target_fd; attr.attach_type = type; -@@ -1135,7 +1135,7 @@ static int bpf_prog_load_dev(enum bpf_prog_type type, +@@ -1092,7 +1092,7 @@ static int bpf_prog_load_dev(enum bpf_prog_type type, const char *license, __u32 ifindex, char *log, size_t size_log) { @@ -1033,7 +1033,7 @@ index 10cf9bf4..f4ac5f16 100644 attr.prog_type = type; attr.insns = bpf_ptr_to_u64(insns); -@@ -1298,7 +1298,7 @@ static int bpf_map_create(enum bpf_map_type type, uint32_t size_key, +@@ -1255,7 +1255,7 @@ static int bpf_map_create(enum bpf_map_type type, uint32_t size_key, uint32_t ifindex, uint32_t btf_id_key, uint32_t btf_id_val) { @@ -1042,7 +1042,7 @@ index 10cf9bf4..f4ac5f16 100644 attr.map_type = type; attr.key_size = size_key; -@@ -1317,7 +1317,7 @@ static int bpf_map_create(enum bpf_map_type type, uint32_t size_key, +@@ -1274,7 +1274,7 @@ static int bpf_map_create(enum bpf_map_type type, uint32_t size_key, static int bpf_btf_load(void *btf, size_t size_btf, char *log, size_t size_log) { @@ -1051,7 +1051,7 @@ index 10cf9bf4..f4ac5f16 100644 attr.btf = bpf_ptr_to_u64(btf); attr.btf_size = size_btf; -@@ -1333,7 +1333,7 @@ static int bpf_btf_load(void *btf, size_t size_btf, +@@ -1290,7 +1290,7 @@ static int bpf_btf_load(void *btf, size_t size_btf, static int bpf_obj_pin(int fd, const char *pathname) { @@ -1060,7 +1060,7 @@ index 10cf9bf4..f4ac5f16 100644 attr.pathname = bpf_ptr_to_u64(pathname); attr.bpf_fd = fd; -@@ -2039,7 +2039,7 @@ static int bpf_map_verify_all_offs(struct bpf_elf_ctx *ctx, int end) +@@ -1975,7 +1975,7 @@ static int bpf_map_verify_all_offs(struct bpf_elf_ctx *ctx, int end) static int bpf_fetch_maps_end(struct bpf_elf_ctx *ctx) { @@ -1069,7 +1069,7 @@ index 10cf9bf4..f4ac5f16 100644 int i, sym_num = bpf_map_num_sym(ctx); __u8 *buff; -@@ -2545,7 +2545,7 @@ static int bpf_fetch_prog_relo(struct bpf_elf_ctx *ctx, const char *section, +@@ -2481,7 +2481,7 @@ static int bpf_fetch_prog_relo(struct bpf_elf_ctx *ctx, const char *section, int ret, idx, i, fd = -1; for (i = 1; i < ctx->elf_hdr.e_shnum; i++) { @@ -1078,7 +1078,7 @@ index 10cf9bf4..f4ac5f16 100644 ret = bpf_fill_section_data(ctx, i, &data_relo); if (ret < 0 || data_relo.sec_hdr.sh_type != SHT_REL) -@@ -2729,7 +2729,7 @@ static int bpf_fill_prog_arrays(struct bpf_elf_ctx *ctx) +@@ -2656,7 +2656,7 @@ static int bpf_fill_prog_arrays(struct bpf_elf_ctx *ctx) ret = bpf_map_update(ctx->map_fds[idx], &key_id, &fd, BPF_ANY); if (ret < 0) { @@ -1087,7 +1087,7 @@ index 10cf9bf4..f4ac5f16 100644 ret = -errno; if (errno == E2BIG) { -@@ -2820,7 +2820,7 @@ static bool bpf_pinning_reserved(uint32_t pinning) +@@ -2747,7 +2747,7 @@ static bool bpf_pinning_reserved(uint32_t pinning) static void bpf_hash_init(struct bpf_elf_ctx *ctx, const char *db_file) { struct bpf_hash_entry *entry; @@ -1096,7 +1096,7 @@ index 10cf9bf4..f4ac5f16 100644 uint32_t pinning; FILE *fp; int ret; -@@ -2918,7 +2918,7 @@ static void bpf_get_cfg(struct bpf_elf_ctx *ctx) +@@ -2845,7 +2845,7 @@ static void bpf_get_cfg(struct bpf_elf_ctx *ctx) fd = open(path_jit, O_RDONLY); if (fd > 0) { @@ -1163,10 +1163,10 @@ index 504961cb..ac412e29 100644 for (i = 0; i < ifnum; i++) { if (get_ifname(ifr.ifr_name, ifnames[i])) diff --git a/misc/ss.c b/misc/ss.c -index 3ef151fb..23980695 100644 +index 75fde231..039f284c 100644 --- a/misc/ss.c +++ b/misc/ss.c -@@ -2628,7 +2628,7 @@ static void sctp_timer_print(struct tcpstat *s) +@@ -2637,7 +2637,7 @@ static void sctp_timer_print(struct tcpstat *s) static int tcp_show_line(char *line, const struct filter *f, int family) { int rto = 0, ato = 0; @@ -1175,7 +1175,7 @@ index 3ef151fb..23980695 100644 char *loc, *rem, *data; char opt[256]; int n; -@@ -2842,7 +2842,7 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, +@@ -2851,7 +2851,7 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, struct rtattr *tb[]) { double rtt = 0; @@ -1184,7 +1184,7 @@ index 3ef151fb..23980695 100644 s.ss.state = r->idiag_state; -@@ -3128,7 +3128,7 @@ static int inet_show_sock(struct nlmsghdr *nlh, +@@ -3137,7 +3137,7 @@ static int inet_show_sock(struct nlmsghdr *nlh, inet_stats_print(s, v6only); if (show_options) { @@ -1193,7 +1193,7 @@ index 3ef151fb..23980695 100644 t.timer = r->idiag_timer; t.timeout = r->idiag_expires; -@@ -3350,7 +3350,7 @@ static int show_one_inet_sock(struct nlmsghdr *h, void *arg) +@@ -3359,7 +3359,7 @@ static int show_one_inet_sock(struct nlmsghdr *h, void *arg) int err; struct inet_diag_arg *diag_arg = arg; struct inet_diag_msg *r = NLMSG_DATA(h); @@ -1202,7 +1202,7 @@ index 3ef151fb..23980695 100644 if (!(diag_arg->f->families & FAMILY_MASK(r->idiag_family))) return 0; -@@ -3439,7 +3439,7 @@ static int tcp_show_netlink_file(struct filter *f) +@@ -3448,7 +3448,7 @@ static int tcp_show_netlink_file(struct filter *f) int err2; size_t status, nitems; struct nlmsghdr *h = (struct nlmsghdr *)buf; @@ -1211,7 +1211,7 @@ index 3ef151fb..23980695 100644 status = fread(buf, 1, sizeof(*h), fp); if (status != sizeof(*h)) { -@@ -3584,7 +3584,7 @@ static int sctp_show(struct filter *f) +@@ -3593,7 +3593,7 @@ static int sctp_show(struct filter *f) static int dgram_show_line(char *line, const struct filter *f, int family) { @@ -1220,7 +1220,7 @@ index 3ef151fb..23980695 100644 char *loc, *rem, *data; char opt[256]; int n; -@@ -3724,7 +3724,7 @@ static bool unix_type_skip(struct sockstat *s, struct filter *f) +@@ -3733,7 +3733,7 @@ static bool unix_type_skip(struct sockstat *s, struct filter *f) static void unix_stats_print(struct sockstat *s, struct filter *f) { @@ -1229,7 +1229,7 @@ index 3ef151fb..23980695 100644 sock_state_print(s); -@@ -4037,7 +4037,7 @@ static int packet_show_sock(struct nlmsghdr *nlh, void *arg) +@@ -4046,7 +4046,7 @@ static int packet_show_sock(struct nlmsghdr *nlh, void *arg) struct packet_diag_info *pinfo = NULL; struct packet_diag_ring *ring_rx = NULL, *ring_tx = NULL; struct rtattr *tb[PACKET_DIAG_MAX+1]; @@ -1238,7 +1238,7 @@ index 3ef151fb..23980695 100644 uint32_t fanout = 0; bool has_fanout = false; -@@ -4186,7 +4186,7 @@ static int packet_show_netlink(struct filter *f) +@@ -4195,7 +4195,7 @@ static int packet_show_netlink(struct filter *f) static int packet_show_line(char *buf, const struct filter *f, int fam) { unsigned long long sk; @@ -1247,7 +1247,7 @@ index 3ef151fb..23980695 100644 int type, prot, iface, state, rq, uid, ino; sscanf(buf, "%llx %*d %d %x %d %d %u %u %u", -@@ -4310,7 +4310,7 @@ static int xdp_show_sock(struct nlmsghdr *nlh, void *arg) +@@ -4319,7 +4319,7 @@ static int xdp_show_sock(struct nlmsghdr *nlh, void *arg) struct xdp_diag_info *info = NULL; struct xdp_diag_umem *umem = NULL; const struct filter *f = arg; @@ -1256,7 +1256,7 @@ index 3ef151fb..23980695 100644 parse_rtattr(tb, XDP_DIAG_MAX, (struct rtattr *)(msg + 1), nlh->nlmsg_len - NLMSG_LENGTH(sizeof(*msg))); -@@ -4391,9 +4391,9 @@ static int netlink_show_one(struct filter *f, +@@ -4400,9 +4400,9 @@ static int netlink_show_one(struct filter *f, .remote.family = AF_NETLINK, }; @@ -1268,7 +1268,7 @@ index 3ef151fb..23980695 100644 if (f->f) { st.rport = -1; -@@ -4640,8 +4640,8 @@ static void tipc_sock_addr_print(struct rtattr *net_addr, struct rtattr *id) +@@ -4649,8 +4649,8 @@ static void tipc_sock_addr_print(struct rtattr *net_addr, struct rtattr *id) uint32_t node = rta_getattr_u32(net_addr); uint32_t identity = rta_getattr_u32(id); @@ -1279,7 +1279,7 @@ index 3ef151fb..23980695 100644 sprintf(addr, "%u", node); sprintf(port, "%u", identity); -@@ -4651,12 +4651,12 @@ static void tipc_sock_addr_print(struct rtattr *net_addr, struct rtattr *id) +@@ -4660,12 +4660,12 @@ static void tipc_sock_addr_print(struct rtattr *net_addr, struct rtattr *id) static int tipc_show_sock(struct nlmsghdr *nlh, void *arg) { @@ -1692,7 +1692,7 @@ index e8d704b5..7ecd86ef 100644 struct rtattr *tail; int argc, ret = 0; diff --git a/tc/m_connmark.c b/tc/m_connmark.c -index eac23489..dc353a44 100644 +index 4b2dc4e2..3d5a203e 100644 --- a/tc/m_connmark.c +++ b/tc/m_connmark.c @@ -46,7 +46,7 @@ static int @@ -1734,7 +1734,7 @@ index d2bdf407..deb4ce5e 100644 while (argc > 0) { diff --git a/tc/m_nat.c b/tc/m_nat.c -index c4b02a83..59af9894 100644 +index 56e8f47c..ef8f75fb 100644 --- a/tc/m_nat.c +++ b/tc/m_nat.c @@ -83,7 +83,7 @@ bad_val: @@ -1782,7 +1782,7 @@ index 70897d6b..6793e6f5 100644 char **argv = *argv_p; int ok = 0; diff --git a/tc/m_tunnel_key.c b/tc/m_tunnel_key.c -index 8fde6891..9de689f6 100644 +index 1f6921f3..f53ba9aa 100644 --- a/tc/m_tunnel_key.c +++ b/tc/m_tunnel_key.c @@ -209,7 +209,7 @@ static int tunnel_key_parse_tos_ttl(char *str, int type, struct nlmsghdr *n) @@ -1916,10 +1916,10 @@ index 61493fbb..b4fa76ae 100644 while (argc > 0) { if (strcmp(*argv, "limit") == 0) { diff --git a/tc/q_fq_codel.c b/tc/q_fq_codel.c -index efed4d28..4f421784 100644 +index 1a51302e..6d94af44 100644 --- a/tc/q_fq_codel.c +++ b/tc/q_fq_codel.c -@@ -227,7 +227,7 @@ static int fq_codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt +@@ -244,7 +244,7 @@ static int fq_codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt static int fq_codel_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats) { @@ -2029,13 +2029,13 @@ index d01450fc..42677a29 100644 for ( ; argc > 0; --argc, ++argv) { diff --git a/tc/q_red.c b/tc/q_red.c -index 6256420f..13e68714 100644 +index 53181c82..30008c68 100644 --- a/tc/q_red.c +++ b/tc/q_red.c -@@ -36,7 +36,7 @@ static void explain(void) - static int red_parse_opt(struct qdisc_util *qu, int argc, char **argv, - struct nlmsghdr *n, const char *dev) - { +@@ -41,7 +41,7 @@ static int red_parse_opt(struct qdisc_util *qu, int argc, char **argv, + struct nla_bitfield32 flags_bf = { + .selector = RED_SUPPORTED_FLAGS, + }; - struct tc_red_qopt opt = {}; + struct tc_red_qopt opt = {0}; unsigned int burst = 0; @@ -2230,7 +2230,7 @@ index c0f1f160..45a6b184 100644 NEXT_ARG(); if (matches(*argv, "help") == 0) { diff --git a/tc/tc_util.c b/tc/tc_util.c -index 5f13d729..3a8c61fc 100644 +index fd5fcb24..fcb55415 100644 --- a/tc/tc_util.c +++ b/tc/tc_util.c @@ -129,7 +129,7 @@ ok: @@ -2251,7 +2251,7 @@ index 5f13d729..3a8c61fc 100644 if (id_to_name(cls_names, h, clname)) snprintf(buf, blen, "%s#%s", clname, handle); -@@ -895,7 +895,7 @@ void print_tcstats_attr(FILE *fp, struct rtattr *tb[], char *prefix, +@@ -896,7 +896,7 @@ void print_tcstats_attr(FILE *fp, struct rtattr *tb[], char *prefix, } /* backward compatibility */ if (tb[TCA_STATS]) { @@ -2554,5 +2554,5 @@ index 852984ec..c6bf518b 100644 mnl_attr_parse_nested(attrs[TIPC_NLA_SOCK_CON], parse_attrs, con); node = mnl_attr_get_u32(con[TIPC_NLA_CON_NODE]); -- -2.26.0 +2.27.0 diff --git a/pkg/iproute2/patch/0007-Remove-semicolon-after-function-definitions.patch b/pkg/iproute2/patch/0007-Remove-semicolon-after-function-definitions.patch @@ -1,4 +1,4 @@ -From d575dcbe5b779829881974623d2585481e71c38e Mon Sep 17 00:00:00 2001 +From f75cda0aa33f331ce78eb3a5f9ef150a474534c6 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 16 Jun 2019 12:39:04 -0700 Subject: [PATCH] Remove semicolon after function definitions @@ -8,12 +8,12 @@ Subject: [PATCH] Remove semicolon after function definitions 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/json_print.c b/lib/json_print.c -index 8e7f32dc..8929e4d8 100644 +index fe0705bf..ecaab98b 100644 --- a/lib/json_print.c +++ b/lib/json_print.c -@@ -138,15 +138,15 @@ void close_json_array(enum output_type type, const char *str) - color_fprintf(stdout, color, fmt, value); \ +@@ -140,15 +140,15 @@ void close_json_array(enum output_type type, const char *str) } \ + return ret; \ } -_PRINT_FUNC(int, int); -_PRINT_FUNC(s64, int64_t); @@ -36,7 +36,7 @@ index 8e7f32dc..8929e4d8 100644 #undef _PRINT_FUNC #define _PRINT_NAME_VALUE_FUNC(type_name, type, format_char) \ -@@ -158,8 +158,8 @@ _PRINT_FUNC(float, double); +@@ -160,8 +160,8 @@ _PRINT_FUNC(float, double); "%s %%"#format_char, name); \ print_##type_name(PRINT_ANY, name, format, value); \ } @@ -46,7 +46,7 @@ index 8e7f32dc..8929e4d8 100644 +_PRINT_NAME_VALUE_FUNC(string, const char*, s) #undef _PRINT_NAME_VALUE_FUNC - void print_color_string(enum output_type type, + int print_color_string(enum output_type type, -- -2.25.0 +2.27.0 diff --git a/pkg/iproute2/patch/0008-Don-t-omit-second-operand-to-operator.patch b/pkg/iproute2/patch/0008-Don-t-omit-second-operand-to-operator.patch @@ -1,4 +1,4 @@ -From 9c2f01584da75c3004075d0d25ea21ccbb9db277 Mon Sep 17 00:00:00 2001 +From 768924ca1f8cf3a7968da70af6b47aa312011f74 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 16 Jun 2019 12:39:40 -0700 Subject: [PATCH] Don't omit second operand to '?' operator @@ -70,10 +70,10 @@ index f1bf0b18..41fa1649 100644 print_uint(PRINT_ANY, "pid", "(%d)", pid); diff --git a/lib/bpf.c b/lib/bpf.c -index f4ac5f16..a25a4bbc 100644 +index 5d620f40..223fb232 100644 --- a/lib/bpf.c +++ b/lib/bpf.c -@@ -813,7 +813,7 @@ static const char *bpf_get_work_dir(enum bpf_prog_type type) +@@ -771,7 +771,7 @@ static const char *bpf_get_work_dir(enum bpf_prog_type type) mnt = bpf_find_mntpt("bpf", BPF_FS_MAGIC, bpf_tmp, sizeof(bpf_tmp), bpf_known_mnts); if (!mnt) { @@ -83,7 +83,7 @@ index f4ac5f16..a25a4bbc 100644 if (!ret) ret = bpf_mnt_fs(mnt); diff --git a/lib/utils.c b/lib/utils.c -index d02bc32d..49b5b1ec 100644 +index 063a0611..b863af6f 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -943,8 +943,10 @@ int __get_hz(void) @@ -108,7 +108,7 @@ index d02bc32d..49b5b1ec 100644 return hz; return HZ; diff --git a/misc/ss.c b/misc/ss.c -index 23980695..bc6b4a8b 100644 +index 039f284c..1801bc5c 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -483,7 +483,9 @@ static FILE *generic_proc_open(const char *env, const char *name) @@ -154,7 +154,7 @@ index 23980695..bc6b4a8b 100644 } if (is_port) -@@ -3728,9 +3737,9 @@ static void unix_stats_print(struct sockstat *s, struct filter *f) +@@ -3737,9 +3746,9 @@ static void unix_stats_print(struct sockstat *s, struct filter *f) sock_state_print(s); @@ -166,7 +166,7 @@ index 23980695..bc6b4a8b 100644 int_to_str(s->rport, port_name), NULL); proc_ctx_print(s); -@@ -3933,7 +3942,7 @@ static int unix_show(struct filter *f) +@@ -3942,7 +3951,7 @@ static int unix_show(struct filter *f) if (!p) u->peer_name = "?"; else @@ -175,7 +175,7 @@ index 23980695..bc6b4a8b 100644 } if (f->f) { -@@ -4417,9 +4426,10 @@ static int netlink_show_one(struct filter *f, +@@ -4426,9 +4435,10 @@ static int netlink_show_one(struct filter *f, strncpy(procname, "kernel", 7); } else if (pid > 0) { FILE *fp; @@ -187,7 +187,7 @@ index 23980695..bc6b4a8b 100644 if ((fp = fopen(procname, "r")) != NULL) { if (fscanf(fp, "%*d (%[^)])", procname) == 1) { snprintf(procname+strlen(procname), -@@ -4462,7 +4472,7 @@ static int netlink_show_one(struct filter *f, +@@ -4471,7 +4481,7 @@ static int netlink_show_one(struct filter *f, else if (pid > 0) getpidcon(pid, &pid_context); @@ -197,5 +197,5 @@ index 23980695..bc6b4a8b 100644 } -- -2.26.0 +2.27.0 diff --git a/pkg/iproute2/patch/0011-Use-alloca-instead-of-VLA-when-VLA-is-not-available.patch b/pkg/iproute2/patch/0011-Use-alloca-instead-of-VLA-when-VLA-is-not-available.patch @@ -1,4 +1,4 @@ -From 073eca7960250e99c4c6d8c135491c4c85269652 Mon Sep 17 00:00:00 2001 +From 0a32cd776d53b6f2d99e4faae19def38f9354ee9 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Mon, 24 Jun 2019 16:48:56 -0700 Subject: [PATCH] Use alloca instead of VLA when VLA is not available @@ -8,7 +8,7 @@ Subject: [PATCH] Use alloca instead of VLA when VLA is not available 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ip/ipaddress.c b/ip/ipaddress.c -index 4b1fba8f..648df0fb 100644 +index 6be96503..cb76a763 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c @@ -249,7 +249,12 @@ static void print_linktype(FILE *fp, struct rtattr *tb) @@ -16,7 +16,7 @@ index 4b1fba8f..648df0fb 100644 lu = get_link_kind(kind); if (lu && lu->print_opt) { - struct rtattr *attr[lu->maxattr+1], **data = NULL; -+#ifndef __STDC_NO_VLA ++#ifndef __STDC_NO_VLA__ + struct rtattr **attr = alloca((lu->maxattr+1)*sizeof(attr[0])); +#else + struct rtattr *attr[lu->maxattr+1]; @@ -30,7 +30,7 @@ index 4b1fba8f..648df0fb 100644 slave_lu = get_link_kind(slave); if (slave_lu && slave_lu->print_opt) { - struct rtattr *attr[slave_lu->maxattr+1], **data = NULL; -+#ifndef __STDC_NO_VLA ++#ifndef __STDC_NO_VLA__ + struct rtattr **attr = alloca((slave_lu->maxattr+1)*sizeof(attr[0])); +#else + struct rtattr *attr[slave_lu->maxattr+1]; @@ -40,5 +40,5 @@ index 4b1fba8f..648df0fb 100644 if (linkinfo[IFLA_INFO_SLAVE_DATA]) { parse_rtattr_nested(attr, slave_lu->maxattr, -- -2.23.0 +2.27.0 diff --git a/pkg/iproute2/ver b/pkg/iproute2/ver @@ -1 +1 @@ -5.6.0 r0 +5.7.0 r0