logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 8e68690eee717c09d006d5e73c780e3d4316b36a
parent 3729c4b843c9d02947fa63dafca3f1df37598f75
Author: Michael Forney <mforney@mforney.org>
Date:   Thu,  3 Oct 2019 23:38:39 -0700

iproute2: Update to 5.3.0

Diffstat:

Mpkg/iproute2/gen.lua1+
Mpkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch32++++++++++++++++----------------
Mpkg/iproute2/patch/0005-Make-RT_TABLE_MAX-a-preprocessor-define-since-it-doe.patch8++++----
Mpkg/iproute2/patch/0006-Don-t-use-empty-initializer-lists.patch359+++++++++++++++++++++++++++++++++++++++----------------------------------------
Mpkg/iproute2/patch/0008-Remove-semicolon-after-function-definitions.patch50+++++---------------------------------------------
Mpkg/iproute2/patch/0009-Don-t-emit-second-operand-to-operator.patch28++++++++++++++--------------
Mpkg/iproute2/patch/0010-Avoid-unnecessary-VLAs.patch10+++++-----
Mpkg/iproute2/patch/0011-ip-Fix-get_link_kind-when-linked-statically.patch8++++----
Mpkg/iproute2/patch/0012-Use-alloca-instead-of-VLA-when-VLA-is-not-available.patch10+++++-----
Apkg/iproute2/patch/0014-Prevent-multiple-definitions-of-global.patch25+++++++++++++++++++++++++
Mpkg/iproute2/ver2+-
11 files changed, 259 insertions(+), 274 deletions(-)

diff --git a/pkg/iproute2/gen.lua b/pkg/iproute2/gen.lua @@ -30,6 +30,7 @@ exe('bin/ip', [[ip/( iplink_bridge.c iplink_bridge_slave.c ipfou.c iplink_ipvlan.c iplink_geneve.c iplink_vrf.c iproute_lwtunnel.c ipmacsec.c ipila.c ipvrf.c iplink_xstats.c ipseg6.c iplink_netdevsim.c iplink_rmnet.c + ipnexthop.c ) libnetlink.a]]) file('bin/ip', '755', '$outdir/bin/ip') diff --git a/pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch b/pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch @@ -1,4 +1,4 @@ -From a343504a3158d52e58161c5f0f87962595250809 Mon Sep 17 00:00:00 2001 +From fc4d606317d20f72c929e01a60adbbe21f28d0a3 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Tue, 12 Mar 2019 19:12:31 -0700 Subject: [PATCH] Avoid pointer arithmetic on `void *` @@ -13,10 +13,10 @@ Subject: [PATCH] Avoid pointer arithmetic on `void *` 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/libnetlink.h b/include/libnetlink.h -index 0205af80..ec2eea30 100644 +index 311cf3fc..2f80d4c4 100644 --- a/include/libnetlink.h +++ b/include/libnetlink.h -@@ -163,7 +163,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type); +@@ -168,7 +168,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type); int rta_nest_end(struct rtattr *rta, struct rtattr *nest); #define RTA_TAIL(rta) \ @@ -25,7 +25,7 @@ index 0205af80..ec2eea30 100644 RTA_ALIGN((rta)->rta_len))) #define parse_rtattr_nested(tb, max, rta) \ -@@ -226,7 +226,7 @@ int rtnl_from_file(FILE *, rtnl_listen_filter_t handler, +@@ -231,7 +231,7 @@ int rtnl_from_file(FILE *, rtnl_listen_filter_t handler, void *jarg); #define NLMSG_TAIL(nmsg) \ @@ -48,7 +48,7 @@ index ea126b08..f24586d4 100644 open_json_object(NULL); if (tb[FOU_ATTR_PORT]) diff --git a/ip/ipila.c b/ip/ipila.c -index 11fbb5fa..563ce9cb 100644 +index 739ee4e1..50c8c300 100644 --- a/ip/ipila.c +++ b/ip/ipila.c @@ -95,7 +95,7 @@ static int print_ila_mapping(struct nlmsghdr *n, void *arg) @@ -61,10 +61,10 @@ index 11fbb5fa..563ce9cb 100644 open_json_object(NULL); print_ila_locid("locator_match", ILA_ATTR_LOCATOR_MATCH, tb); diff --git a/ip/ipseg6.c b/ip/ipseg6.c -index 33076e72..72ee01bf 100644 +index 56a76996..1c3c3bf5 100644 --- a/ip/ipseg6.c +++ b/ip/ipseg6.c -@@ -114,7 +114,7 @@ static int process_msg(struct nlmsghdr *n, void *arg) +@@ -115,7 +115,7 @@ static int process_msg(struct nlmsghdr *n, void *arg) ghdr = NLMSG_DATA(n); @@ -74,10 +74,10 @@ index 33076e72..72ee01bf 100644 open_json_object(NULL); switch (ghdr->cmd) { diff --git a/lib/libnetlink.c b/lib/libnetlink.c -index 028d5502..5a13898c 100644 +index 8c490f89..8fbdfeee 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c -@@ -1238,7 +1238,7 @@ int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len) +@@ -1271,7 +1271,7 @@ int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len) } memcpy(NLMSG_TAIL(n), data, len); @@ -86,7 +86,7 @@ index 028d5502..5a13898c 100644 n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + NLMSG_ALIGN(len); return 0; } -@@ -1253,7 +1253,7 @@ struct rtattr *addattr_nest(struct nlmsghdr *n, int maxlen, int type) +@@ -1286,7 +1286,7 @@ struct rtattr *addattr_nest(struct nlmsghdr *n, int maxlen, int type) int addattr_nest_end(struct nlmsghdr *n, struct rtattr *nest) { @@ -95,7 +95,7 @@ index 028d5502..5a13898c 100644 return n->nlmsg_len; } -@@ -1269,9 +1269,9 @@ struct rtattr *addattr_nest_compat(struct nlmsghdr *n, int maxlen, int type, +@@ -1302,9 +1302,9 @@ struct rtattr *addattr_nest_compat(struct nlmsghdr *n, int maxlen, int type, int addattr_nest_compat_end(struct nlmsghdr *n, struct rtattr *start) { @@ -107,7 +107,7 @@ index 028d5502..5a13898c 100644 addattr_nest_end(n, nest); return n->nlmsg_len; } -@@ -1342,7 +1342,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type) +@@ -1376,7 +1376,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type) int rta_nest_end(struct rtattr *rta, struct rtattr *nest) { @@ -116,7 +116,7 @@ index 028d5502..5a13898c 100644 return rta->rta_len; } -@@ -1391,7 +1391,7 @@ int __parse_rtattr_nested_compat(struct rtattr *tb[], int max, +@@ -1425,7 +1425,7 @@ int __parse_rtattr_nested_compat(struct rtattr *tb[], int max, if (RTA_PAYLOAD(rta) < len) return -1; if (RTA_PAYLOAD(rta) >= RTA_ALIGN(len) + sizeof(struct rtattr)) { @@ -126,10 +126,10 @@ index 028d5502..5a13898c 100644 } memset(tb, 0, sizeof(struct rtattr *) * (max + 1)); diff --git a/lib/utils.c b/lib/utils.c -index be0f11b0..7f8a7da1 100644 +index 95d46ff2..21a87b7c 100644 --- a/lib/utils.c +++ b/lib/utils.c -@@ -1534,7 +1534,7 @@ int get_rtnl_link_stats_rta(struct rtnl_link_stats64 *stats64, +@@ -1523,7 +1523,7 @@ int get_rtnl_link_stats_rta(struct rtnl_link_stats64 *stats64, len = RTA_PAYLOAD(rta); if (len < size) @@ -139,5 +139,5 @@ index be0f11b0..7f8a7da1 100644 len = size; -- -2.22.0 +2.23.0 diff --git a/pkg/iproute2/patch/0005-Make-RT_TABLE_MAX-a-preprocessor-define-since-it-doe.patch b/pkg/iproute2/patch/0005-Make-RT_TABLE_MAX-a-preprocessor-define-since-it-doe.patch @@ -1,4 +1,4 @@ -From f96642925899c3ac61b158ad98868ef9b65c2326 Mon Sep 17 00:00:00 2001 +From 9393c2b9178288f084e8f46550db2089d8295e42 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 16 Jun 2019 12:16:50 -0700 Subject: [PATCH] Make RT_TABLE_MAX a preprocessor define, since it doesn't fit @@ -9,10 +9,10 @@ Subject: [PATCH] Make RT_TABLE_MAX a preprocessor define, since it doesn't fit 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h -index 8c1d600b..50236ab5 100644 +index 358e83ee..d993e195 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h -@@ -305,9 +305,10 @@ enum rt_class_t { +@@ -312,9 +312,10 @@ enum rt_class_t { RT_TABLE_DEFAULT=253, RT_TABLE_MAIN=254, RT_TABLE_LOCAL=255, @@ -25,5 +25,5 @@ index 8c1d600b..50236ab5 100644 /* Routing message attributes */ -- -2.20.1 +2.23.0 diff --git a/pkg/iproute2/patch/0006-Don-t-use-empty-initializer-lists.patch b/pkg/iproute2/patch/0006-Don-t-use-empty-initializer-lists.patch @@ -1,4 +1,4 @@ -From 20cfae0f14e0fe4fd40e8e79841c981b586985a3 Mon Sep 17 00:00:00 2001 +From e439e1254386d639085bae186b39c3cbd691af9b 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 @@ -91,10 +91,10 @@ Subject: [PATCH] Don't use empty initializer lists 84 files changed, 288 insertions(+), 288 deletions(-) diff --git a/bridge/mdb.c b/bridge/mdb.c -index 6edb98b8..dd32daf0 100644 +index 1f2cebd8..124fef49 100644 --- a/bridge/mdb.c +++ b/bridge/mdb.c -@@ -376,7 +376,7 @@ static int mdb_modify(int cmd, int flags, int argc, char **argv) +@@ -377,7 +377,7 @@ static int mdb_modify(int cmd, int flags, int argc, char **argv) .n.nlmsg_type = cmd, .bpm.family = PF_BRIDGE, }; @@ -126,10 +126,10 @@ index 5dd9a82e..8ea553d4 100644 unsigned short flags = 0; __u32 tun_id_start = 0; diff --git a/devlink/devlink.c b/devlink/devlink.c -index 5618ba26..aaca50bc 100644 +index 02933739..e456c067 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c -@@ -457,7 +457,7 @@ static int attr_cb(const struct nlattr *attr, void *data) +@@ -456,7 +456,7 @@ static int attr_cb(const struct nlattr *attr, void *data) static int ifname_map_cb(const struct nlmsghdr *nlh, void *data) { @@ -138,7 +138,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); struct dl *dl = data; struct ifname_map *ifname_map; -@@ -2012,7 +2012,7 @@ static void pr_out_eswitch(struct dl *dl, struct nlattr **tb) +@@ -2008,7 +2008,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; @@ -147,7 +147,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -2150,7 +2150,7 @@ static const struct param_val_conv param_val_conv[] = { +@@ -2146,7 +2146,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) { @@ -156,7 +156,7 @@ index 5618ba26..aaca50bc 100644 struct nlattr *val_attr; const char *vstr; bool conv_exists; -@@ -2226,7 +2226,7 @@ static void pr_out_param_value(struct dl *dl, const char *nla_name, +@@ -2222,7 +2222,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) { @@ -165,7 +165,7 @@ index 5618ba26..aaca50bc 100644 struct nlattr *param_value_attr; const char *nla_name; int nla_type; -@@ -2269,7 +2269,7 @@ static void pr_out_param(struct dl *dl, struct nlattr **tb, bool array) +@@ -2265,7 +2265,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); @@ -174,7 +174,7 @@ index 5618ba26..aaca50bc 100644 struct dl *dl = data; mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -2295,8 +2295,8 @@ struct param_ctx { +@@ -2291,8 +2291,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); @@ -185,7 +185,7 @@ index 5618ba26..aaca50bc 100644 struct nlattr *param_value_attr; enum devlink_param_cmode cmode; struct param_ctx *ctx = data; -@@ -2320,7 +2320,7 @@ static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) +@@ -2316,7 +2316,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]) { @@ -194,7 +194,7 @@ index 5618ba26..aaca50bc 100644 struct nlattr *val_attr; err = mnl_attr_parse_nested(param_value_attr, -@@ -2362,7 +2362,7 @@ static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) +@@ -2358,7 +2358,7 @@ static int cmd_dev_param_set_cb(const struct nlmsghdr *nlh, void *data) static int cmd_dev_param_set(struct dl *dl) { @@ -203,7 +203,7 @@ index 5618ba26..aaca50bc 100644 struct nlmsghdr *nlh; bool conv_exists; uint32_t val_u32; -@@ -2517,7 +2517,7 @@ static int cmd_dev_param(struct dl *dl) +@@ -2513,7 +2513,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; @@ -212,7 +212,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -2581,7 +2581,7 @@ static void pr_out_versions_single(struct dl *dl, const struct nlmsghdr *nlh, +@@ -2577,7 +2577,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)) { @@ -221,7 +221,7 @@ index 5618ba26..aaca50bc 100644 const char *ver_value; const char *ver_name; int err; -@@ -2656,7 +2656,7 @@ static void pr_out_info(struct dl *dl, const struct nlmsghdr *nlh, +@@ -2652,7 +2652,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); @@ -230,7 +230,7 @@ index 5618ba26..aaca50bc 100644 bool has_versions, has_info; struct dl *dl = data; -@@ -2838,7 +2838,7 @@ static void pr_out_port(struct dl *dl, struct nlattr **tb) +@@ -2867,7 +2867,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; @@ -239,7 +239,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -2981,7 +2981,7 @@ static void pr_out_sb(struct dl *dl, struct nlattr **tb) +@@ -3010,7 +3010,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; @@ -248,7 +248,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3059,7 +3059,7 @@ static void pr_out_sb_pool(struct dl *dl, struct nlattr **tb) +@@ -3088,7 +3088,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; @@ -257,7 +257,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3144,7 +3144,7 @@ static void pr_out_sb_port_pool(struct dl *dl, struct nlattr **tb) +@@ -3173,7 +3173,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; @@ -266,7 +266,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3246,7 +3246,7 @@ static void pr_out_sb_tc_bind(struct dl *dl, struct nlattr **tb) +@@ -3275,7 +3275,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; @@ -275,7 +275,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3536,7 +3536,7 @@ static void cmd_sb_occ_port_pool_process(struct occ_show *occ_show, +@@ -3565,7 +3565,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; @@ -284,7 +284,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3587,7 +3587,7 @@ static void cmd_sb_occ_tc_pool_process(struct occ_show *occ_show, +@@ -3616,7 +3616,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; @@ -293,7 +293,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -3792,7 +3792,7 @@ static void pr_out_region(struct dl *dl, struct nlattr **tb); +@@ -3821,7 +3821,7 @@ static void pr_out_region(struct dl *dl, struct nlattr **tb); static int cmd_mon_show_cb(const struct nlmsghdr *nlh, void *data) { struct dl *dl = data; @@ -302,7 +302,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); uint8_t cmd = genl->cmd; -@@ -4243,7 +4243,7 @@ static void pr_out_dpipe_headers(struct dpipe_ctx *ctx, +@@ -4272,7 +4272,7 @@ static void pr_out_dpipe_headers(struct dpipe_ctx *ctx, static int dpipe_header_field_get(struct nlattr *nl, struct dpipe_field *field) { @@ -311,7 +311,7 @@ index 5618ba26..aaca50bc 100644 const char *name; int err; -@@ -4294,7 +4294,7 @@ static unsigned int dpipe_header_field_count_get(struct nlattr *nla_fields) +@@ -4323,7 +4323,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) { @@ -320,7 +320,7 @@ index 5618ba26..aaca50bc 100644 struct dpipe_header *header; unsigned int fields_count; const char *header_name; -@@ -4350,7 +4350,7 @@ static int dpipe_headers_get(struct dpipe_ctx *ctx, struct nlattr **tb) +@@ -4379,7 +4379,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; @@ -329,7 +329,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); int err; -@@ -4372,7 +4372,7 @@ static int cmd_dpipe_header_cb(const struct nlmsghdr *nlh, void *data) +@@ -4401,7 +4401,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; @@ -338,7 +338,7 @@ index 5618ba26..aaca50bc 100644 uint16_t flags = NLM_F_REQUEST | NLM_F_ACK; int err; -@@ -4462,7 +4462,7 @@ static void pr_out_dpipe_action(struct dpipe_action *action, +@@ -4491,7 +4491,7 @@ static void pr_out_dpipe_action(struct dpipe_action *action, static int dpipe_action_parse(struct dpipe_action *action, struct nlattr *nl) { @@ -347,7 +347,7 @@ index 5618ba26..aaca50bc 100644 int err; err = mnl_attr_parse_nested(nl, attr_cb, nla_action); -@@ -4546,7 +4546,7 @@ static int dpipe_match_parse(struct dpipe_match *match, +@@ -4575,7 +4575,7 @@ static int dpipe_match_parse(struct dpipe_match *match, struct nlattr *nl) { @@ -356,7 +356,7 @@ index 5618ba26..aaca50bc 100644 int err; err = mnl_attr_parse_nested(nl, attr_cb, nla_match); -@@ -4650,7 +4650,7 @@ resource_path_print(struct dl *dl, struct resources *resources, +@@ -4679,7 +4679,7 @@ resource_path_print(struct dl *dl, struct resources *resources, static int dpipe_table_show(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -365,7 +365,7 @@ index 5618ba26..aaca50bc 100644 struct dpipe_table *table; uint32_t resource_units; bool counters_enabled; -@@ -4743,7 +4743,7 @@ err_table_show: +@@ -4772,7 +4772,7 @@ err_table_show: static int cmd_dpipe_table_show_cb(const struct nlmsghdr *nlh, void *data) { struct dpipe_ctx *ctx = data; @@ -374,7 +374,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -4761,8 +4761,8 @@ static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data); +@@ -4790,8 +4790,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; @@ -385,7 +385,7 @@ index 5618ba26..aaca50bc 100644 uint16_t flags = NLM_F_REQUEST; int err; -@@ -5014,7 +5014,7 @@ static void pr_out_dpipe_entry_value(struct dpipe_ctx *ctx, +@@ -5043,7 +5043,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) { @@ -394,7 +394,7 @@ index 5618ba26..aaca50bc 100644 struct dpipe_match match; int err; -@@ -5045,7 +5045,7 @@ err_match_parse: +@@ -5074,7 +5074,7 @@ err_match_parse: static int dpipe_entry_action_value_show(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -403,7 +403,7 @@ index 5618ba26..aaca50bc 100644 struct dpipe_action action; int err; -@@ -5101,7 +5101,7 @@ dpipe_tables_match_values_show(struct dpipe_ctx *ctx, +@@ -5130,7 +5130,7 @@ dpipe_tables_match_values_show(struct dpipe_ctx *ctx, static int dpipe_entry_show(struct dpipe_ctx *ctx, struct nlattr *nl) { @@ -412,7 +412,7 @@ index 5618ba26..aaca50bc 100644 uint32_t entry_index; uint64_t counter; int err; -@@ -5164,7 +5164,7 @@ err_entry_show: +@@ -5193,7 +5193,7 @@ err_entry_show: static int cmd_dpipe_table_entry_dump_cb(const struct nlmsghdr *nlh, void *data) { struct dpipe_ctx *ctx = data; @@ -421,7 +421,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -5180,7 +5180,7 @@ static int cmd_dpipe_table_entry_dump_cb(const struct nlmsghdr *nlh, void *data) +@@ -5209,7 +5209,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; @@ -430,7 +430,7 @@ index 5618ba26..aaca50bc 100644 uint16_t flags = NLM_F_REQUEST; int err; -@@ -5301,7 +5301,7 @@ static int +@@ -5330,7 +5330,7 @@ static int resource_get(struct resource_ctx *ctx, struct resource *resource, struct resource *parent_resource, struct nlattr *nl) { @@ -439,7 +439,7 @@ index 5618ba26..aaca50bc 100644 struct nlattr *nla_child_resource; struct nlattr *nla_resources; bool top = false; -@@ -5440,7 +5440,7 @@ static int resources_get(struct resource_ctx *ctx, struct nlattr **tb) +@@ -5469,7 +5469,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; @@ -448,7 +448,7 @@ index 5618ba26..aaca50bc 100644 struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); int err; -@@ -5464,8 +5464,8 @@ static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data) +@@ -5493,8 +5493,8 @@ static int cmd_resource_dump_cb(const struct nlmsghdr *nlh, void *data) static int cmd_resource_show(struct dl *dl) { struct nlmsghdr *nlh; @@ -459,7 +459,7 @@ index 5618ba26..aaca50bc 100644 int err; err = dl_argv_parse(dl, DL_OPT_HANDLE, 0); -@@ -5560,7 +5560,7 @@ err_resource_lookup: +@@ -5589,7 +5589,7 @@ err_resource_lookup: static int cmd_resource_set(struct dl *dl) { struct nlmsghdr *nlh; @@ -468,7 +468,7 @@ index 5618ba26..aaca50bc 100644 int err; err = resource_ctx_init(&ctx, dl); -@@ -5678,7 +5678,7 @@ static void pr_out_region_snapshots_id(struct dl *dl, struct nlattr **tb, int in +@@ -5707,7 +5707,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) { @@ -477,7 +477,7 @@ index 5618ba26..aaca50bc 100644 struct nlattr *nla_sanpshot; int err, index = 0; -@@ -5719,7 +5719,7 @@ static void pr_out_region(struct dl *dl, struct nlattr **tb) +@@ -5748,7 +5748,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); @@ -486,7 +486,7 @@ index 5618ba26..aaca50bc 100644 struct dl *dl = data; mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); -@@ -5775,8 +5775,8 @@ static int cmd_region_read_cb(const struct nlmsghdr *nlh, void *data) +@@ -5804,8 +5804,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); @@ -497,7 +497,7 @@ index 5618ba26..aaca50bc 100644 struct dl *dl = data; int err; -@@ -6027,7 +6027,7 @@ static int cmd_fmsg_nest(struct fmsg_cb_data *fmsg_data, uint8_t nest_value, +@@ -6057,7 +6057,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); @@ -506,7 +506,7 @@ index 5618ba26..aaca50bc 100644 struct fmsg_cb_data *fmsg_data = data; struct dl *dl = fmsg_data->dl; struct nlattr *nla_object; -@@ -6160,7 +6160,7 @@ out: +@@ -6194,7 +6194,7 @@ out: static void pr_out_health(struct dl *dl, struct nlattr **tb_health) { @@ -515,7 +515,7 @@ index 5618ba26..aaca50bc 100644 enum devlink_health_reporter_state state; const struct nlattr *attr; uint64_t time_ms; -@@ -6216,7 +6216,7 @@ static void pr_out_health(struct dl *dl, struct nlattr **tb_health) +@@ -6250,7 +6250,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); @@ -556,10 +556,10 @@ index ee125df0..72db0dc6 100644 mnl_attr_parse(nlh, sizeof(*genl), get_family_id_attr_cb, tb); diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c -index 27d9f4fc..68321136 100644 +index d35072d4..88340835 100644 --- a/ip/ip6tunnel.c +++ b/ip/ip6tunnel.c -@@ -284,7 +284,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip6_tnl_parm2 *p) +@@ -285,7 +285,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip6_tnl_parm2 *p) if (get_ifname(p->name, *argv)) invarg("\"name\" not a valid ifname", *argv); if (cmd == SIOCCHGTUNNEL && count == 0) { @@ -569,10 +569,10 @@ index 27d9f4fc..68321136 100644 if (tnl_get_ioctl(*argv, &old_p)) return -1; diff --git a/ip/ipaddress.c b/ip/ipaddress.c -index 733f7d9d..2dc7d834 100644 +index bc8f5ba1..4b1fba8f 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c -@@ -166,7 +166,7 @@ static void print_queuelen(FILE *f, struct rtattr *tb[IFLA_MAX + 1]) +@@ -168,7 +168,7 @@ static void print_queuelen(FILE *f, struct rtattr *tb[IFLA_MAX + 1]) if (tb[IFLA_TXQLEN]) qlen = rta_getattr_u32(tb[IFLA_TXQLEN]); else { @@ -581,16 +581,16 @@ index 733f7d9d..2dc7d834 100644 int s = socket(AF_INET, SOCK_STREAM, 0); if (s < 0) -@@ -353,7 +353,7 @@ static void print_vfinfo(FILE *fp, struct rtattr *vfinfo) - { +@@ -356,7 +356,7 @@ static void print_vfinfo(FILE *fp, struct ifinfomsg *ifi, struct rtattr *vfinfo) struct ifla_vf_mac *vf_mac; + struct ifla_vf_broadcast *vf_broadcast; struct ifla_vf_tx_rate *vf_tx_rate; - struct rtattr *vf[IFLA_VF_MAX + 1] = {}; + struct rtattr *vf[IFLA_VF_MAX + 1] = {0}; SPRINT_BUF(b1); -@@ -2155,7 +2155,7 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv) +@@ -2186,7 +2186,7 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv) char *lcl_arg = NULL; char *valid_lftp = NULL; char *preferred_lftp = NULL; @@ -599,7 +599,7 @@ index 733f7d9d..2dc7d834 100644 inet_prefix peer; int local_len = 0; int peer_len = 0; -@@ -2340,7 +2340,7 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv) +@@ -2371,7 +2371,7 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv) return nodev(d); if (valid_lftp || preferred_lftp) { @@ -609,10 +609,10 @@ index 733f7d9d..2dc7d834 100644 if (!valid_lft) { fprintf(stderr, "valid_lft is zero\n"); diff --git a/ip/ipaddrlabel.c b/ip/ipaddrlabel.c -index f06ed1e7..53766036 100644 +index beb08da3..c8a14940 100644 --- a/ip/ipaddrlabel.c +++ b/ip/ipaddrlabel.c -@@ -147,7 +147,7 @@ static int ipaddrlabel_modify(int cmd, int argc, char **argv) +@@ -148,7 +148,7 @@ static int ipaddrlabel_modify(int cmd, int argc, char **argv) .ifal.ifal_family = preferred_family, }; @@ -635,10 +635,10 @@ index f090390f..edbe0f2f 100644 if (attrs[L2TP_ATTR_PW_TYPE]) p->pw_type = rta_getattr_u16(attrs[L2TP_ATTR_PW_TYPE]); diff --git a/ip/iplink.c b/ip/iplink.c -index d275efa9..0e8f4b24 100644 +index 212a0885..43f86189 100644 --- a/ip/iplink.c +++ b/ip/iplink.c -@@ -1229,7 +1229,7 @@ static int set_mtu(const char *dev, int mtu) +@@ -1230,7 +1230,7 @@ static int set_mtu(const char *dev, int mtu) static int get_address(const char *dev, int *htype) { @@ -648,7 +648,7 @@ index d275efa9..0e8f4b24 100644 .sll_family = AF_PACKET, .sll_protocol = htons(ETH_P_LOOP), diff --git a/ip/iplink_can.c b/ip/iplink_can.c -index 5bf490a9..009be0e5 100644 +index 735ab941..82060bf4 100644 --- a/ip/iplink_can.c +++ b/ip/iplink_can.c @@ -112,7 +112,7 @@ static void print_ctrlmode(FILE *f, __u32 cm) @@ -674,10 +674,10 @@ index ad6ad7d6..1512823a 100644 fprintf(stderr, "incomplete dump message\n"); return -1; diff --git a/ip/ipmaddr.c b/ip/ipmaddr.c -index 6327100e..c92a4753 100644 +index 02e923bf..44699b9e 100644 --- a/ip/ipmaddr.c +++ b/ip/ipmaddr.c -@@ -288,7 +288,7 @@ static int multiaddr_list(int argc, char **argv) +@@ -289,7 +289,7 @@ static int multiaddr_list(int argc, char **argv) static int multiaddr_modify(int cmd, int argc, char **argv) { @@ -687,7 +687,7 @@ index 6327100e..c92a4753 100644 int fd; diff --git a/ip/ipntable.c b/ip/ipntable.c -index 50fc949f..fbf76f52 100644 +index ddee4905..a56c71e5 100644 --- a/ip/ipntable.c +++ b/ip/ipntable.c @@ -76,7 +76,7 @@ static int ipntable_modify(int cmd, int flags, int argc, char **argv) @@ -709,10 +709,10 @@ index 50fc949f..fbf76f52 100644 struct tm *tp; diff --git a/ip/iptunnel.c b/ip/iptunnel.c -index d597908f..281def0a 100644 +index 92a5cb92..3efae379 100644 --- a/ip/iptunnel.c +++ b/ip/iptunnel.c -@@ -175,7 +175,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip_tunnel_parm *p) +@@ -176,7 +176,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip_tunnel_parm *p) if (get_ifname(p->name, *argv)) invarg("\"name\" not a valid ifname", *argv); if (cmd == SIOCCHGTUNNEL && count == 0) { @@ -721,7 +721,7 @@ index d597908f..281def0a 100644 if (tnl_get_ioctl(*argv, &old_p)) return -1; -@@ -287,7 +287,7 @@ static int do_del(int argc, char **argv) +@@ -288,7 +288,7 @@ static int do_del(int argc, char **argv) static void print_tunnel(const void *t) { const struct ip_tunnel_parm *p = t; @@ -730,7 +730,7 @@ index d597908f..281def0a 100644 char s1[1024]; char s2[1024]; -@@ -301,7 +301,7 @@ static void print_tunnel(const void *t) +@@ -302,7 +302,7 @@ static void print_tunnel(const void *t) p->iph.saddr ? rt_addr_n2a_r(AF_INET, 4, &p->iph.saddr, s2, sizeof(s2)) : "any"); if (p->iph.protocol == IPPROTO_IPV6 && (p->i_flags & SIT_ISATAP)) { @@ -739,7 +739,7 @@ index d597908f..281def0a 100644 int i; prl[0].datalen = sizeof(prl) - sizeof(prl[0]); -@@ -423,7 +423,7 @@ static int do_show(int argc, char **argv) +@@ -424,7 +424,7 @@ static int do_show(int argc, char **argv) static int do_prl(int argc, char **argv) { @@ -748,7 +748,7 @@ index d597908f..281def0a 100644 int count = 0; int cmd = 0; const char *medium = NULL; -@@ -472,7 +472,7 @@ static int do_prl(int argc, char **argv) +@@ -473,7 +473,7 @@ static int do_prl(int argc, char **argv) static int do_6rd(int argc, char **argv) { @@ -758,10 +758,10 @@ index d597908f..281def0a 100644 const char *medium = NULL; inet_prefix prefix; diff --git a/ip/iptuntap.c b/ip/iptuntap.c -index dad82f56..0b3adde1 100644 +index 91d3512b..f1bf0b18 100644 --- a/ip/iptuntap.c +++ b/ip/iptuntap.c -@@ -289,7 +289,7 @@ static char *pid_name(pid_t pid) +@@ -290,7 +290,7 @@ static char *pid_name(pid_t pid) static void show_processes(const char *name) { @@ -824,10 +824,10 @@ index 55d38d65..a2427bbf 100644 while (1) { diff --git a/ip/tcp_metrics.c b/ip/tcp_metrics.c -index 72ef3ab5..eabe0738 100644 +index acbd745a..051ddc63 100644 --- a/ip/tcp_metrics.c +++ b/ip/tcp_metrics.c -@@ -177,7 +177,7 @@ static int process_msg(struct nlmsghdr *n, void *arg) +@@ -178,7 +178,7 @@ static int process_msg(struct nlmsghdr *n, void *arg) if (ghdr->cmd != TCP_METRICS_CMD_GET) return 0; @@ -837,10 +837,10 @@ index 72ef3ab5..eabe0738 100644 if (attrs[TCP_METRICS_ATTR_ADDR_IPV4]) { diff --git a/ip/xfrm_policy.c b/ip/xfrm_policy.c -index 98984350..e9bdcb20 100644 +index 7c0233c1..9fa11464 100644 --- a/ip/xfrm_policy.c +++ b/ip/xfrm_policy.c -@@ -262,14 +262,14 @@ static int xfrm_policy_modify(int cmd, unsigned int flags, int argc, char **argv +@@ -271,14 +271,14 @@ static int xfrm_policy_modify(int cmd, unsigned int flags, int argc, char **argv char *selp = NULL; char *ptypep = NULL; char *sctxp = NULL; @@ -858,7 +858,7 @@ index 98984350..e9bdcb20 100644 bool is_if_id_set = false; __u32 if_id = 0; -@@ -582,12 +582,12 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, +@@ -591,12 +591,12 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, char *indexp = NULL; char *ptypep = NULL; char *sctxp = NULL; @@ -873,7 +873,7 @@ index 98984350..e9bdcb20 100644 while (argc > 0) { if (strcmp(*argv, "dir") == 0) { -@@ -1127,7 +1127,7 @@ static int xfrm_policy_flush(int argc, char **argv) +@@ -1136,7 +1136,7 @@ static int xfrm_policy_flush(int argc, char **argv) .n.nlmsg_type = XFRM_MSG_FLUSHPOLICY, }; char *ptypep = NULL; @@ -883,10 +883,10 @@ index 98984350..e9bdcb20 100644 while (argc > 0) { if (strcmp(*argv, "ptype") == 0) { diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c -index f2727070..c1002418 100644 +index b03ccc58..1e1c58f5 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) +@@ -323,9 +323,9 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) .xsinfo.lft.soft_packet_limit = XFRM_INF, .xsinfo.lft.hard_packet_limit = XFRM_INF, }; @@ -899,7 +899,7 @@ index f2727070..c1002418 100644 unsigned int ifindex = 0; __u8 dir = 0; bool is_offload = false; -@@ -325,7 +325,7 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) +@@ -343,7 +343,7 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) struct { struct xfrm_user_sec_ctx sctx; char str[CTX_BUF_SIZE]; @@ -908,7 +908,7 @@ index f2727070..c1002418 100644 __u32 output_mark = 0; bool is_if_id_set = false; __u32 if_id = 0; -@@ -394,7 +394,7 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) +@@ -412,7 +412,7 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) (void *)&encap, sizeof(encap)); } else if (strcmp(*argv, "coa") == 0) { inet_prefix coa; @@ -917,7 +917,7 @@ index f2727070..c1002418 100644 if (coap) duparg("coa", *argv); -@@ -472,7 +472,7 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) +@@ -490,7 +490,7 @@ static int xfrm_state_modify(int cmd, unsigned int flags, int argc, char **argv) struct xfrm_algo_auth auth; } u; char buf[XFRM_ALGO_KEY_BUF_SIZE]; @@ -927,7 +927,7 @@ index f2727070..c1002418 100644 __u32 icvlen, trunclen; char *name; diff --git a/lib/bpf.c b/lib/bpf.c -index 7d2a322f..a18e2ae9 100644 +index 23cb0d96..7b9b7523 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) @@ -1074,7 +1074,7 @@ index 7d2a322f..a18e2ae9 100644 attr.pathname = bpf_ptr_to_u64(pathname); attr.bpf_fd = fd; -@@ -1965,7 +1965,7 @@ static int bpf_map_verify_all_offs(struct bpf_elf_ctx *ctx, int end) +@@ -1971,7 +1971,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) { @@ -1083,7 +1083,7 @@ index 7d2a322f..a18e2ae9 100644 int i, sym_num = bpf_map_num_sym(ctx); __u8 *buff; -@@ -2471,7 +2471,7 @@ static int bpf_fetch_prog_relo(struct bpf_elf_ctx *ctx, const char *section, +@@ -2477,7 +2477,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++) { @@ -1092,7 +1092,7 @@ index 7d2a322f..a18e2ae9 100644 ret = bpf_fill_section_data(ctx, i, &data_relo); if (ret < 0 || data_relo.sec_hdr.sh_type != SHT_REL) -@@ -2646,7 +2646,7 @@ static int bpf_fill_prog_arrays(struct bpf_elf_ctx *ctx) +@@ -2652,7 +2652,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) { @@ -1101,7 +1101,7 @@ index 7d2a322f..a18e2ae9 100644 ret = -errno; if (errno == E2BIG) { -@@ -2737,7 +2737,7 @@ static bool bpf_pinning_reserved(uint32_t pinning) +@@ -2743,7 +2743,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; @@ -1110,7 +1110,7 @@ index 7d2a322f..a18e2ae9 100644 uint32_t pinning; FILE *fp; int ret; -@@ -2835,7 +2835,7 @@ static void bpf_get_cfg(struct bpf_elf_ctx *ctx) +@@ -2841,7 +2841,7 @@ static void bpf_get_cfg(struct bpf_elf_ctx *ctx) fd = open(path_jit, O_RDONLY); if (fd > 0) { @@ -1120,10 +1120,10 @@ index 7d2a322f..a18e2ae9 100644 if (read(fd, tmp, sizeof(tmp)) > 0) ctx->cfg.jit_enabled = atoi(tmp); diff --git a/lib/libnetlink.c b/lib/libnetlink.c -index 5a13898c..8d4031e9 100644 +index 8fbdfeee..cb347d7d 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c -@@ -80,7 +80,7 @@ static void print_ext_ack_msg(bool is_err, const char *msg) +@@ -81,7 +81,7 @@ static void print_ext_ack_msg(bool is_err, const char *msg) /* dump netlink extended ack error message */ int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn) { @@ -1132,7 +1132,7 @@ index 5a13898c..8d4031e9 100644 const struct nlmsgerr *err = mnl_nlmsg_get_payload(nlh); const struct nlmsghdr *err_nlh = NULL; unsigned int hlen = sizeof(*err); -@@ -127,7 +127,7 @@ int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn) +@@ -128,7 +128,7 @@ int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn) int nl_dump_ext_ack_done(const struct nlmsghdr *nlh, int error) { @@ -1177,7 +1177,7 @@ 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 3d9d1d8f..7ba483f3 100644 +index 363b4c8d..3a3a61ec 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -2609,7 +2609,7 @@ static void sctp_timer_print(struct tcpstat *s) @@ -1282,7 +1282,7 @@ index 3d9d1d8f..7ba483f3 100644 if (f->f) { st.rport = -1; -@@ -4536,8 +4536,8 @@ static void tipc_sock_addr_print(struct rtattr *net_addr, struct rtattr *id) +@@ -4533,8 +4533,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); @@ -1293,7 +1293,7 @@ index 3d9d1d8f..7ba483f3 100644 sprintf(addr, "%u", node); sprintf(port, "%u", identity); -@@ -4547,12 +4547,12 @@ static void tipc_sock_addr_print(struct rtattr *net_addr, struct rtattr *id) +@@ -4544,12 +4544,12 @@ static void tipc_sock_addr_print(struct rtattr *net_addr, struct rtattr *id) static int tipc_show_sock(struct nlmsghdr *nlh, void *arg) { @@ -1312,10 +1312,10 @@ index 3d9d1d8f..7ba483f3 100644 parse_rtattr(info, TIPC_NLA_MAX, NLMSG_DATA(nlh), NLMSG_PAYLOAD(nlh, 0)); diff --git a/rdma/dev.c b/rdma/dev.c -index 90483622..8233620d 100644 +index c597cba5..d0ddf69d 100644 --- a/rdma/dev.c +++ b/rdma/dev.c -@@ -195,7 +195,7 @@ static void dev_print_node_type(struct rd *rd, struct nlattr **tb) +@@ -213,7 +213,7 @@ static void dev_print_node_type(struct rd *rd, struct nlattr **tb) static int dev_parse_cb(const struct nlmsghdr *nlh, void *data) { @@ -1338,10 +1338,10 @@ index 10b2e513..caec479a 100644 uint32_t port, idx; char name[32]; diff --git a/rdma/rdma.c b/rdma/rdma.c -index 676e03c2..9859ecd8 100644 +index 4e34da92..4f15b1c6 100644 --- a/rdma/rdma.c +++ b/rdma/rdma.c -@@ -130,7 +130,7 @@ int main(int argc, char **argv) +@@ -132,7 +132,7 @@ int main(int argc, char **argv) bool show_details = false; bool json_output = false; bool force = false; @@ -1382,10 +1382,10 @@ index 0b830088..1978e2c9 100644 ret = mnl_attr_parse_nested(nla_entry, rd_attr_cb, nla_line); if (ret != MNL_CB_OK) diff --git a/rdma/res-cq.c b/rdma/res-cq.c -index 5afb97c5..c98dcbd4 100644 +index d2591fbe..717c39a7 100644 --- a/rdma/res-cq.c +++ b/rdma/res-cq.c -@@ -111,7 +111,7 @@ out: if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) +@@ -126,7 +126,7 @@ out: if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) int res_cq_idx_parse_cb(const struct nlmsghdr *nlh, void *data) { @@ -1394,7 +1394,7 @@ index 5afb97c5..c98dcbd4 100644 struct rd *rd = data; const char *name; uint32_t idx; -@@ -128,7 +128,7 @@ int res_cq_idx_parse_cb(const struct nlmsghdr *nlh, void *data) +@@ -143,7 +143,7 @@ int res_cq_idx_parse_cb(const struct nlmsghdr *nlh, void *data) int res_cq_parse_cb(const struct nlmsghdr *nlh, void *data) { @@ -1403,7 +1403,7 @@ index 5afb97c5..c98dcbd4 100644 struct nlattr *nla_table, *nla_entry; struct rd *rd = data; int ret = MNL_CB_OK; -@@ -145,7 +145,7 @@ int res_cq_parse_cb(const struct nlmsghdr *nlh, void *data) +@@ -160,7 +160,7 @@ int res_cq_parse_cb(const struct nlmsghdr *nlh, void *data) nla_table = tb[RDMA_NLDEV_ATTR_RES_CQ]; mnl_attr_for_each_nested(nla_entry, nla_table) { @@ -1506,7 +1506,7 @@ index 954e465d..d687710c 100644 ret = mnl_attr_parse_nested(nla_entry, rd_attr_cb, nla_line); if (ret != MNL_CB_OK) diff --git a/rdma/res.c b/rdma/res.c -index ef863f14..e0b70eb3 100644 +index c5e8ba1d..6388f3e4 100644 --- a/rdma/res.c +++ b/rdma/res.c @@ -34,7 +34,7 @@ static int res_print_summary(struct rd *rd, struct nlattr **tb) @@ -1528,10 +1528,10 @@ index ef863f14..e0b70eb3 100644 const char *name; uint32_t idx; diff --git a/rdma/utils.c b/rdma/utils.c -index 11ed8a73..9571fa7f 100644 +index 37659011..152096c9 100644 --- a/rdma/utils.c +++ b/rdma/utils.c -@@ -473,7 +473,7 @@ int rd_attr_cb(const struct nlattr *attr, void *data) +@@ -488,7 +488,7 @@ int rd_attr_cb(const struct nlattr *attr, void *data) int rd_dev_init_cb(const struct nlmsghdr *nlh, void *data) { @@ -1541,10 +1541,10 @@ index 11ed8a73..9571fa7f 100644 struct rd *rd = data; const char *dev_name; diff --git a/tc/e_bpf.c b/tc/e_bpf.c -index 84f43e6c..65db703c 100644 +index a48393b7..6fbcd339 100644 --- a/tc/e_bpf.c +++ b/tc/e_bpf.c -@@ -56,8 +56,8 @@ static int parse_bpf(struct exec_util *eu, int argc, char **argv) +@@ -58,8 +58,8 @@ static int parse_bpf(struct exec_util *eu, int argc, char **argv) char **argv_run = argv_default, **envp_run, *tmp; int ret, i, env_old, env_num, env_map; const char *bpf_uds_name = NULL; @@ -1621,10 +1621,10 @@ index bc284af4..efebb2dc 100644 #define PARSE_ERR(CARG, FMT, ARGS...) \ em_parse_error(EINVAL, args, CARG, &u32_ematch_util, FMT, ##ARGS) diff --git a/tc/f_bpf.c b/tc/f_bpf.c -index 948d9051..1875f215 100644 +index 135271aa..a9523d0f 100644 --- a/tc/f_bpf.c +++ b/tc/f_bpf.c -@@ -80,7 +80,7 @@ static int bpf_parse_opt(struct filter_util *qu, char *handle, +@@ -82,7 +82,7 @@ static int bpf_parse_opt(struct filter_util *qu, char *handle, struct tcmsg *t = NLMSG_DATA(n); unsigned int bpf_gen_flags = 0; unsigned int bpf_flags = 0; @@ -1634,10 +1634,10 @@ index 948d9051..1875f215 100644 bool skip_sw = false; struct rtattr *tail; diff --git a/tc/f_fw.c b/tc/f_fw.c -index adce2bdb..30b51f8f 100644 +index 688364f5..55fcc3cc 100644 --- a/tc/f_fw.c +++ b/tc/f_fw.c -@@ -98,7 +98,7 @@ static int fw_parse_opt(struct filter_util *qu, char *handle, int argc, char **a +@@ -93,7 +93,7 @@ static int fw_parse_opt(struct filter_util *qu, char *handle, int argc, char **a } continue; } else if (strcmp(*argv, "indev") == 0) { @@ -1647,10 +1647,10 @@ index adce2bdb..30b51f8f 100644 argc--; argv++; diff --git a/tc/f_rsvp.c b/tc/f_rsvp.c -index bddd4740..75a2b3b4 100644 +index 388e9ee5..e6eb0147 100644 --- a/tc/f_rsvp.c +++ b/tc/f_rsvp.c -@@ -173,7 +173,7 @@ static int rsvp_parse_opt(struct filter_util *qu, char *handle, int argc, +@@ -174,7 +174,7 @@ static int rsvp_parse_opt(struct filter_util *qu, char *handle, int argc, char **argv, struct nlmsghdr *n) { int family = strcmp(qu->id, "rsvp") == 0 ? AF_INET : AF_INET6; @@ -1691,10 +1691,10 @@ index e0a322d5..483c4685 100644 argc--; argv++; diff --git a/tc/m_bpf.c b/tc/m_bpf.c -index 3e8468c6..90cebed1 100644 +index e8d704b5..7ecd86ef 100644 --- a/tc/m_bpf.c +++ b/tc/m_bpf.c -@@ -75,8 +75,8 @@ static int bpf_parse_opt(struct action_util *a, int *ptr_argc, char ***ptr_argv, +@@ -77,8 +77,8 @@ static int bpf_parse_opt(struct action_util *a, int *ptr_argc, char ***ptr_argv, int tca_id, struct nlmsghdr *n) { const char *bpf_obj = NULL, *bpf_uds_name = NULL; @@ -1706,10 +1706,10 @@ index 3e8468c6..90cebed1 100644 struct rtattr *tail; int argc, ret = 0; diff --git a/tc/m_connmark.c b/tc/m_connmark.c -index 13543d33..d3165f7a 100644 +index eac23489..dc353a44 100644 --- a/tc/m_connmark.c +++ b/tc/m_connmark.c -@@ -45,7 +45,7 @@ static int +@@ -46,7 +46,7 @@ static int parse_connmark(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, struct nlmsghdr *n) { @@ -1719,7 +1719,7 @@ index 13543d33..d3165f7a 100644 int argc = *argc_p; int ok = 0; diff --git a/tc/m_csum.c b/tc/m_csum.c -index 84396d6a..c6547396 100644 +index 3e3dc251..c19d27f4 100644 --- a/tc/m_csum.c +++ b/tc/m_csum.c @@ -88,7 +88,7 @@ static int @@ -1732,7 +1732,7 @@ index 84396d6a..c6547396 100644 int argc = *argc_p; char **argv = *argv_p; diff --git a/tc/m_mirred.c b/tc/m_mirred.c -index 23ba638a..a622432f 100644 +index 13209523..c178d43b 100644 --- a/tc/m_mirred.c +++ b/tc/m_mirred.c @@ -96,9 +96,9 @@ parse_direction(struct action_util *a, int *argc_p, char ***argv_p, @@ -1748,7 +1748,7 @@ index 23ba638a..a622432f 100644 while (argc > 0) { diff --git a/tc/m_nat.c b/tc/m_nat.c -index ee0b7520..06bb926c 100644 +index c4b02a83..59af9894 100644 --- a/tc/m_nat.c +++ b/tc/m_nat.c @@ -83,7 +83,7 @@ bad_val: @@ -1761,7 +1761,7 @@ index ee0b7520..06bb926c 100644 int argc = *argc_p; char **argv = *argv_p; diff --git a/tc/m_pedit.c b/tc/m_pedit.c -index 6f8d078b..60b50051 100644 +index 1cd2d162..1b714cea 100644 --- a/tc/m_pedit.c +++ b/tc/m_pedit.c @@ -511,7 +511,7 @@ done: @@ -1783,10 +1783,10 @@ index 6f8d078b..60b50051 100644 int argc = *argc_p; char **argv = *argv_p; diff --git a/tc/m_simple.c b/tc/m_simple.c -index e3c8a60f..4a93e1c1 100644 +index 49e25047..2e645b08 100644 --- a/tc/m_simple.c +++ b/tc/m_simple.c -@@ -96,7 +96,7 @@ static int +@@ -97,7 +97,7 @@ static int parse_simple(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, struct nlmsghdr *n) { @@ -1796,7 +1796,7 @@ index e3c8a60f..4a93e1c1 100644 char **argv = *argv_p; int ok = 0; diff --git a/tc/m_tunnel_key.c b/tc/m_tunnel_key.c -index 9449287e..6215f996 100644 +index 4e65e444..7cbfdfe9 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) @@ -1809,7 +1809,7 @@ index 9449287e..6215f996 100644 int argc = *argc_p; struct rtattr *tail; diff --git a/tc/m_vlan.c b/tc/m_vlan.c -index 412f6aa1..e7cb9f98 100644 +index 9c8071e9..cdfe0d3d 100644 --- a/tc/m_vlan.c +++ b/tc/m_vlan.c @@ -69,7 +69,7 @@ static int parse_vlan(struct action_util *a, int *argc_p, char ***argv_p, @@ -1822,7 +1822,7 @@ index 412f6aa1..e7cb9f98 100644 if (matches(*argv, "vlan") != 0) return -1; diff --git a/tc/m_xt.c b/tc/m_xt.c -index 29574bd4..ca99397b 100644 +index bf0db2be..59255d5b 100644 --- a/tc/m_xt.c +++ b/tc/m_xt.c @@ -147,7 +147,7 @@ static int parse_ipt(struct action_util *a, int *argc_p, @@ -1835,10 +1835,10 @@ index 29574bd4..ca99397b 100644 struct rtattr *tail; diff --git a/tc/q_atm.c b/tc/q_atm.c -index f8215f06..b8f1b492 100644 +index 77b56825..c0acf492 100644 --- a/tc/q_atm.c +++ b/tc/q_atm.c -@@ -48,7 +48,7 @@ static void explain(void) +@@ -49,7 +49,7 @@ static void explain(void) static int atm_parse_class_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { @@ -1848,10 +1848,10 @@ index f8215f06..b8f1b492 100644 struct atm_sap sap; unsigned char hdr[MAX_HDR_LEN]; diff --git a/tc/q_cbq.c b/tc/q_cbq.c -index e7f1a3bf..a8082cbf 100644 +index 6518ef46..9bee7c1b 100644 --- a/tc/q_cbq.c +++ b/tc/q_cbq.c -@@ -48,8 +48,8 @@ static void explain1(char *arg) +@@ -50,8 +50,8 @@ static void explain1(char *arg) static int cbq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { @@ -1862,7 +1862,7 @@ index e7f1a3bf..a8082cbf 100644 __u32 rtab[256]; unsigned mpu = 0, avpkt = 0, allot = 0; unsigned short overhead = 0; -@@ -183,10 +183,10 @@ static int cbq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl +@@ -185,10 +185,10 @@ static int cbq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl static int cbq_parse_class_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { int wrr_ok = 0, fopt_ok = 0; @@ -1878,7 +1878,7 @@ index e7f1a3bf..a8082cbf 100644 unsigned mpu = 0; int cell_log = -1; diff --git a/tc/q_cbs.c b/tc/q_cbs.c -index a2ffb1db..c931bd1d 100644 +index 9515a1f7..1df37bbc 100644 --- a/tc/q_cbs.c +++ b/tc/q_cbs.c @@ -37,7 +37,7 @@ static void explain1(const char *arg, const char *val) @@ -1891,10 +1891,10 @@ index a2ffb1db..c931bd1d 100644 while (argc > 0) { diff --git a/tc/q_choke.c b/tc/q_choke.c -index 1353c80c..ce70a010 100644 +index 648d9ad7..473c64b0 100644 --- a/tc/q_choke.c +++ b/tc/q_choke.c -@@ -33,7 +33,7 @@ static void explain(void) +@@ -34,7 +34,7 @@ static void explain(void) static int choke_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { @@ -1904,10 +1904,10 @@ index 1353c80c..ce70a010 100644 unsigned int avpkt = 1000; double probability = 0.02; diff --git a/tc/q_codel.c b/tc/q_codel.c -index 8a2a8716..02269ab5 100644 +index 849cc040..a0ede8a6 100644 --- a/tc/q_codel.c +++ b/tc/q_codel.c -@@ -173,7 +173,7 @@ static int codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) +@@ -174,7 +174,7 @@ static int codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) static int codel_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats) { @@ -1930,10 +1930,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 02ad2214..800cb86c 100644 +index 376ac50d..5f77d24b 100644 --- a/tc/q_fq_codel.c +++ b/tc/q_fq_codel.c -@@ -226,7 +226,7 @@ static int fq_codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt +@@ -227,7 +227,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) { @@ -1943,10 +1943,10 @@ index 02ad2214..800cb86c 100644 SPRINT_BUF(b1); diff --git a/tc/q_gred.c b/tc/q_gred.c -index e297b866..17263eb7 100644 +index 8a1cecff..7a39281f 100644 --- a/tc/q_gred.c +++ b/tc/q_gred.c -@@ -303,8 +303,8 @@ gred_parse_vqs(struct tc_gred_info *info, struct rtattr *vqs) +@@ -304,8 +304,8 @@ gred_parse_vqs(struct tc_gred_info *info, struct rtattr *vqs) unsigned int offset = 0; while (rem > offset) { @@ -1957,7 +1957,7 @@ index e297b866..17263eb7 100644 struct rtattr *entry; unsigned int len; unsigned int dp; -@@ -421,7 +421,7 @@ gred_print_stats(struct tc_gred_info *info, struct tc_gred_qopt *qopt) +@@ -422,7 +422,7 @@ gred_print_stats(struct tc_gred_info *info, struct tc_gred_qopt *qopt) static int gred_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) { @@ -2015,10 +2015,10 @@ index 8ad9e0b2..7319b1bf 100644 if (argc) { if (strcmp(*argv, "help") == 0) { diff --git a/tc/q_netem.c b/tc/q_netem.c -index d1cd17f8..e70d1a14 100644 +index d01450fc..42677a29 100644 --- a/tc/q_netem.c +++ b/tc/q_netem.c -@@ -164,17 +164,17 @@ static int netem_parse_opt(struct qdisc_util *qu, int argc, char **argv, +@@ -200,17 +200,17 @@ static int netem_parse_opt(struct qdisc_util *qu, int argc, char **argv, int slot_dist_size = 0; struct rtattr *tail; struct tc_netem_qopt opt = { .limit = 1000 }; @@ -2043,10 +2043,10 @@ index d1cd17f8..e70d1a14 100644 for ( ; argc > 0; --argc, ++argv) { diff --git a/tc/q_red.c b/tc/q_red.c -index 3b3a1204..4254f2ff 100644 +index 6256420f..13e68714 100644 --- a/tc/q_red.c +++ b/tc/q_red.c -@@ -35,7 +35,7 @@ static void explain(void) +@@ -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) { @@ -2056,10 +2056,10 @@ index 3b3a1204..4254f2ff 100644 unsigned int avpkt = 0; double probability = 0.02; diff --git a/tc/q_sfq.c b/tc/q_sfq.c -index eee31ec5..58681cb5 100644 +index 4998921d..d56c3e01 100644 --- a/tc/q_sfq.c +++ b/tc/q_sfq.c -@@ -37,7 +37,7 @@ static void explain(void) +@@ -38,7 +38,7 @@ static void explain(void) static int sfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { int ok = 0, red = 0; @@ -2082,10 +2082,10 @@ index 2e65a589..09099077 100644 while (argc > 0) { if (strcmp(*argv, "limit") == 0) { diff --git a/tc/q_tbf.c b/tc/q_tbf.c -index b9465b20..12c47506 100644 +index 57a9736c..b0cdcaad 100644 --- a/tc/q_tbf.c +++ b/tc/q_tbf.c -@@ -39,7 +39,7 @@ static int tbf_parse_opt(struct qdisc_util *qu, int argc, char **argv, +@@ -40,7 +40,7 @@ static int tbf_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { int ok = 0; @@ -2095,7 +2095,7 @@ index b9465b20..12c47506 100644 __u32 ptab[256]; unsigned buffer = 0, mtu = 0, mpu = 0, latency = 0; diff --git a/tc/tc_class.c b/tc/tc_class.c -index 7ac700d7..0ad832d4 100644 +index c7e3cfdf..2ef4765b 100644 --- a/tc/tc_class.c +++ b/tc/tc_class.c @@ -36,8 +36,8 @@ struct graph_node { @@ -2109,7 +2109,7 @@ index 7ac700d7..0ad832d4 100644 static void usage(void); -@@ -66,9 +66,9 @@ static int tc_class_modify(int cmd, unsigned int flags, int argc, char **argv) +@@ -67,9 +67,9 @@ static int tc_class_modify(int cmd, unsigned int flags, int argc, char **argv) .t.tcm_family = AF_UNSPEC, }; struct qdisc_util *q = NULL; @@ -2122,7 +2122,7 @@ index 7ac700d7..0ad832d4 100644 while (argc > 0) { if (strcmp(*argv, "dev") == 0) { -@@ -215,14 +215,14 @@ static void graph_cls_show(FILE *fp, char *buf, struct hlist_head *root_list, +@@ -216,14 +216,14 @@ static void graph_cls_show(FILE *fp, char *buf, struct hlist_head *root_list, int level) { struct hlist_node *n, *tmp_cls; @@ -2140,7 +2140,7 @@ index 7ac700d7..0ad832d4 100644 struct graph_node *cls = container_of(n, struct graph_node, hlist); -@@ -387,7 +387,7 @@ int print_class(struct nlmsghdr *n, void *arg) +@@ -388,7 +388,7 @@ int print_class(struct nlmsghdr *n, void *arg) static int tc_class_list(int argc, char **argv) { struct tcmsg t = { .tcm_family = AF_UNSPEC }; @@ -2150,10 +2150,10 @@ index 7ac700d7..0ad832d4 100644 filter_qdisc = 0; diff --git a/tc/tc_exec.c b/tc/tc_exec.c -index 0151af7b..4080ff8a 100644 +index 9b912ceb..edc6c205 100644 --- a/tc/tc_exec.c +++ b/tc/tc_exec.c -@@ -84,7 +84,7 @@ noexist: +@@ -85,7 +85,7 @@ noexist: int do_exec(int argc, char **argv) { struct exec_util *eu; @@ -2163,24 +2163,23 @@ index 0151af7b..4080ff8a 100644 if (argc < 1) { fprintf(stderr, "No command given, try \"tc exec help\".\n"); diff --git a/tc/tc_filter.c b/tc/tc_filter.c -index e5c7bc46..0994a787 100644 +index f7d2e4a6..347c1be4 100644 --- a/tc/tc_filter.c +++ b/tc/tc_filter.c -@@ -63,10 +63,10 @@ static int tc_filter_modify(int cmd, unsigned int flags, int argc, char **argv, - { - struct tc_filter_req *req, filter_req; - struct filter_util *q = NULL; -- struct tc_estimator est = {}; -- char k[FILTER_NAMESZ] = {}; -+ struct tc_estimator est = {0}; -+ char k[FILTER_NAMESZ] = {0}; +@@ -78,9 +78,9 @@ static int tc_filter_modify(int cmd, unsigned int flags, int argc, char **argv) + __u32 chain_index; int chain_index_set = 0; -- char d[IFNAMSIZ] = {}; -+ char d[IFNAMSIZ] = {0}; - int protocol_set = 0; - __u32 block_index = 0; char *fhandle = NULL; -@@ -421,8 +421,8 @@ static int tc_filter_get(int cmd, unsigned int flags, int argc, char **argv) +- char d[IFNAMSIZ] = {}; +- char k[FILTER_NAMESZ] = {}; +- struct tc_estimator est = {}; ++ char d[IFNAMSIZ] = {0}; ++ char k[FILTER_NAMESZ] = {0}; ++ struct tc_estimator est = {0}; + + if (cmd == RTM_NEWTFILTER && flags & NLM_F_CREATE) + protocol = htons(ETH_P_ALL); +@@ -405,8 +405,8 @@ static int tc_filter_get(int cmd, unsigned int flags, int argc, char **argv) __u32 block_index = 0; __u32 parent_handle = 0; char *fhandle = NULL; @@ -2191,7 +2190,7 @@ index e5c7bc46..0994a787 100644 while (argc > 0) { if (strcmp(*argv, "dev") == 0) { -@@ -611,7 +611,7 @@ static int tc_filter_list(int cmd, int argc, char **argv) +@@ -595,7 +595,7 @@ static int tc_filter_list(int cmd, int argc, char **argv) .t.tcm_parent = TC_H_UNSPEC, .t.tcm_family = AF_UNSPEC, }; @@ -2201,10 +2200,10 @@ index e5c7bc46..0994a787 100644 __u32 protocol = 0; __u32 chain_index; diff --git a/tc/tc_qdisc.c b/tc/tc_qdisc.c -index c5da5b5c..c6f1e285 100644 +index 17e39983..cda0a564 100644 --- a/tc/tc_qdisc.c +++ b/tc/tc_qdisc.c -@@ -45,13 +45,13 @@ static int usage(void) +@@ -46,13 +46,13 @@ static int usage(void) static int tc_qdisc_modify(int cmd, unsigned int flags, int argc, char **argv) { struct qdisc_util *q = NULL; @@ -2245,7 +2244,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 e5d15281..52fc5b5a 100644 +index b90d256c..d639f1b1 100644 --- a/tc/tc_util.c +++ b/tc/tc_util.c @@ -129,7 +129,7 @@ ok: @@ -2266,7 +2265,7 @@ index e5d15281..52fc5b5a 100644 if (id_to_name(cls_names, h, clname)) snprintf(buf, blen, "%s#%s", clname, handle); -@@ -865,7 +865,7 @@ void print_tcstats_attr(FILE *fp, struct rtattr *tb[], char *prefix, struct rtat +@@ -882,7 +882,7 @@ void print_tcstats_attr(FILE *fp, struct rtattr *tb[], char *prefix, struct rtat } /* backward compatibility */ if (tb[TCA_STATS]) { @@ -2276,7 +2275,7 @@ index e5d15281..52fc5b5a 100644 /* handle case where kernel returns more/less than we know about */ memcpy(&st, RTA_DATA(tb[TCA_STATS]), MIN(RTA_PAYLOAD(tb[TCA_STATS]), sizeof(st))); diff --git a/tipc/bearer.c b/tipc/bearer.c -index 05dc84aa..d7cb2477 100644 +index 4470819e..0bc8ed9e 100644 --- a/tipc/bearer.c +++ b/tipc/bearer.c @@ -84,8 +84,8 @@ static void cmd_bearer_enable_udp_help(struct cmdl *cmdl, char *media) @@ -2290,7 +2289,7 @@ index 05dc84aa..d7cb2477 100644 int *netid = (int*)data; mnl_attr_parse(nlh, sizeof(*genl), parse_attrs, info); -@@ -660,7 +660,7 @@ static int bearer_dump_udp_cb(const struct nlmsghdr *nlh, void *data) +@@ -742,7 +742,7 @@ static int bearer_dump_udp_cb(const struct nlmsghdr *nlh, void *data) { struct sockaddr_storage *addr; struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -2299,7 +2298,7 @@ index 05dc84aa..d7cb2477 100644 mnl_attr_parse(nlh, sizeof(*genl), parse_attrs, info); -@@ -696,9 +696,9 @@ static int bearer_get_udp_cb(const struct nlmsghdr *nlh, void *data) +@@ -778,9 +778,9 @@ static int bearer_get_udp_cb(const struct nlmsghdr *nlh, void *data) struct cb_data *cb_data = (struct cb_data *) data; struct sockaddr_storage *addr; struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -2312,7 +2311,7 @@ index 05dc84aa..d7cb2477 100644 mnl_attr_parse(nlh, sizeof(*genl), parse_attrs, info); if (!info[TIPC_NLA_BEARER]) -@@ -768,9 +768,9 @@ static int bearer_get_cb(const struct nlmsghdr *nlh, void *data) +@@ -850,9 +850,9 @@ static int bearer_get_cb(const struct nlmsghdr *nlh, void *data) { int *prop = data; struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -2325,7 +2324,7 @@ index 05dc84aa..d7cb2477 100644 mnl_attr_parse(nlh, sizeof(*genl), parse_attrs, info); if (!info[TIPC_NLA_BEARER]) -@@ -951,8 +951,8 @@ static int cmd_bearer_get(struct nlmsghdr *nlh, const struct cmd *cmd, +@@ -1033,8 +1033,8 @@ static int cmd_bearer_get(struct nlmsghdr *nlh, const struct cmd *cmd, static int bearer_list_cb(const struct nlmsghdr *nlh, void *data) { struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); @@ -2569,5 +2568,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.22.0 +2.23.0 diff --git a/pkg/iproute2/patch/0008-Remove-semicolon-after-function-definitions.patch b/pkg/iproute2/patch/0008-Remove-semicolon-after-function-definitions.patch @@ -1,54 +1,14 @@ -From 440e3f2e32a58af3343c6f654aacfcb7d2cec5f6 Mon Sep 17 00:00:00 2001 +From 6519169b2d0cfee2093b3bfa52321152ba4541a7 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 --- - include/json_print.h | 28 ++++++++++++++-------------- - lib/json_print.c | 18 +++++++++--------- - 2 files changed, 23 insertions(+), 23 deletions(-) + lib/json_print.c | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) -diff --git a/include/json_print.h b/include/json_print.h -index dbdc90e2..ae2be059 100644 ---- a/include/json_print.h -+++ b/include/json_print.h -@@ -57,20 +57,20 @@ void print_nl(void); - { \ - print_color_##type_name(t, COLOR_NONE, key, fmt, value); \ - } --_PRINT_FUNC(int, int); --_PRINT_FUNC(s64, int64_t); --_PRINT_FUNC(bool, bool); --_PRINT_FUNC(null, const char*); --_PRINT_FUNC(string, const char*); --_PRINT_FUNC(uint, unsigned int); --_PRINT_FUNC(u64, uint64_t); --_PRINT_FUNC(hhu, unsigned char); --_PRINT_FUNC(hu, unsigned short); --_PRINT_FUNC(hex, unsigned int); --_PRINT_FUNC(0xhex, unsigned long long); --_PRINT_FUNC(luint, unsigned long); --_PRINT_FUNC(lluint, unsigned long long); --_PRINT_FUNC(float, double); -+_PRINT_FUNC(int, int) -+_PRINT_FUNC(s64, int64_t) -+_PRINT_FUNC(bool, bool) -+_PRINT_FUNC(null, const char*) -+_PRINT_FUNC(string, const char*) -+_PRINT_FUNC(uint, unsigned int) -+_PRINT_FUNC(u64, uint64_t) -+_PRINT_FUNC(hhu, unsigned char) -+_PRINT_FUNC(hu, unsigned short) -+_PRINT_FUNC(hex, unsigned int) -+_PRINT_FUNC(0xhex, unsigned long long) -+_PRINT_FUNC(luint, unsigned long) -+_PRINT_FUNC(lluint, unsigned long long) -+_PRINT_FUNC(float, double) - #undef _PRINT_FUNC - - #endif /* _JSON_PRINT_H_ */ diff --git a/lib/json_print.c b/lib/json_print.c -index 4eb2d0dc..cc43031c 100644 +index 43ea69bb..3d5c28eb 100644 --- a/lib/json_print.c +++ b/lib/json_print.c @@ -116,15 +116,15 @@ void close_json_array(enum output_type type, const char *str) @@ -77,5 +37,5 @@ index 4eb2d0dc..cc43031c 100644 void print_color_string(enum output_type type, -- -2.20.1 +2.23.0 diff --git a/pkg/iproute2/patch/0009-Don-t-emit-second-operand-to-operator.patch b/pkg/iproute2/patch/0009-Don-t-emit-second-operand-to-operator.patch @@ -1,4 +1,4 @@ -From a4b297a9b25a6d93d23640a3676e604b6d0b9022 Mon Sep 17 00:00:00 2001 +From 50448fbc36b843b9ccd69b93b1a05ec5a954579d 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 emit second operand to '?' operator @@ -13,7 +13,7 @@ Subject: [PATCH] Don't emit second operand to '?' operator 6 files changed, 33 insertions(+), 15 deletions(-) diff --git a/ip/iproute_lwtunnel.c b/ip/iproute_lwtunnel.c -index 03217b8f..83f92984 100644 +index 60f34a32..b47a65aa 100644 --- a/ip/iproute_lwtunnel.c +++ b/ip/iproute_lwtunnel.c @@ -185,7 +185,7 @@ static const char *format_action_type(int action) @@ -35,10 +35,10 @@ index 03217b8f..83f92984 100644 fprintf(fp, "%s ", str); if (progname) diff --git a/ip/iptunnel.c b/ip/iptunnel.c -index 281def0a..eb1a8148 100644 +index 3efae379..2d5b8161 100644 --- a/ip/iptunnel.c +++ b/ip/iptunnel.c -@@ -277,11 +277,16 @@ static int do_add(int cmd, int argc, char **argv) +@@ -278,11 +278,16 @@ static int do_add(int cmd, int argc, char **argv) static int do_del(int argc, char **argv) { struct ip_tunnel_parm p; @@ -57,10 +57,10 @@ index 281def0a..eb1a8148 100644 static void print_tunnel(const void *t) diff --git a/ip/iptuntap.c b/ip/iptuntap.c -index 0b3adde1..d19e5531 100644 +index f1bf0b18..41fa1649 100644 --- a/ip/iptuntap.c +++ b/ip/iptuntap.c -@@ -347,7 +347,7 @@ static void show_processes(const char *name) +@@ -348,7 +348,7 @@ static void show_processes(const char *name) char *pname = pid_name(pid); print_string(PRINT_ANY, "name", @@ -70,7 +70,7 @@ index 0b3adde1..d19e5531 100644 print_uint(PRINT_ANY, "pid", "(%d)", pid); diff --git a/lib/bpf.c b/lib/bpf.c -index a18e2ae9..d12b42bd 100644 +index 7b9b7523..f6d20cb7 100644 --- a/lib/bpf.c +++ b/lib/bpf.c @@ -771,7 +771,7 @@ static const char *bpf_get_work_dir(enum bpf_prog_type type) @@ -83,10 +83,10 @@ index a18e2ae9..d12b42bd 100644 if (!ret) ret = bpf_mnt_fs(mnt); diff --git a/lib/utils.c b/lib/utils.c -index 7f8a7da1..cf1b1c6f 100644 +index 21a87b7c..e0af2179 100644 --- a/lib/utils.c +++ b/lib/utils.c -@@ -945,8 +945,10 @@ int __get_hz(void) +@@ -934,8 +934,10 @@ int __get_hz(void) int hz = 0; FILE *fp; @@ -99,7 +99,7 @@ index 7f8a7da1..cf1b1c6f 100644 if (getenv("PROC_NET_PSCHED")) snprintf(name, sizeof(name)-1, -@@ -967,6 +969,7 @@ int __get_hz(void) +@@ -956,6 +958,7 @@ int __get_hz(void) hz = denom; fclose(fp); } @@ -108,7 +108,7 @@ index 7f8a7da1..cf1b1c6f 100644 return hz; return HZ; diff --git a/misc/ss.c b/misc/ss.c -index 7ba483f3..ab5a75c8 100644 +index 3a3a61ec..725ad915 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -480,7 +480,9 @@ static FILE *generic_proc_open(const char *env, const char *name) @@ -175,7 +175,7 @@ index 7ba483f3..ab5a75c8 100644 } if (f->f) { -@@ -4313,9 +4322,10 @@ static int netlink_show_one(struct filter *f, +@@ -4310,9 +4319,10 @@ static int netlink_show_one(struct filter *f, strncpy(procname, "kernel", 7); } else if (pid > 0) { FILE *fp; @@ -187,7 +187,7 @@ index 7ba483f3..ab5a75c8 100644 if ((fp = fopen(procname, "r")) != NULL) { if (fscanf(fp, "%*d (%[^)])", procname) == 1) { snprintf(procname+strlen(procname), -@@ -4358,7 +4368,7 @@ static int netlink_show_one(struct filter *f, +@@ -4355,7 +4365,7 @@ static int netlink_show_one(struct filter *f, else if (pid > 0) getpidcon(pid, &pid_context); @@ -197,5 +197,5 @@ index 7ba483f3..ab5a75c8 100644 } -- -2.22.0 +2.23.0 diff --git a/pkg/iproute2/patch/0010-Avoid-unnecessary-VLAs.patch b/pkg/iproute2/patch/0010-Avoid-unnecessary-VLAs.patch @@ -1,4 +1,4 @@ -From 958ece4ca4331f215f4517c3363ada4359dc149c Mon Sep 17 00:00:00 2001 +From 7d8d4edc0bbfc3fa1b99c6491577465c9bc4a350 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 16 Jun 2019 13:38:59 -0700 Subject: [PATCH] Avoid unnecessary VLAs @@ -22,10 +22,10 @@ index 669f0538..9e456030 100644 msg->iov.iov_base = &msg->aux; diff --git a/ip/iptuntap.c b/ip/iptuntap.c -index d19e5531..6928737e 100644 +index 41fa1649..d2e305ae 100644 --- a/ip/iptuntap.c +++ b/ip/iptuntap.c -@@ -302,9 +302,7 @@ static void show_processes(const char *name) +@@ -303,9 +303,7 @@ static void show_processes(const char *name) fd_path = globbuf.gl_pathv; while (*fd_path) { @@ -36,7 +36,7 @@ index d19e5531..6928737e 100644 int pid, fd; FILE *f; -@@ -314,13 +312,13 @@ static void show_processes(const char *name) +@@ -315,13 +313,13 @@ static void show_processes(const char *name) if (pid == getpid()) goto next; @@ -53,5 +53,5 @@ index d19e5531..6928737e 100644 if (asprintf(&fdinfo, "/proc/%d/fdinfo/%d", pid, fd) < 0) -- -2.20.1 +2.23.0 diff --git a/pkg/iproute2/patch/0011-ip-Fix-get_link_kind-when-linked-statically.patch b/pkg/iproute2/patch/0011-ip-Fix-get_link_kind-when-linked-statically.patch @@ -1,4 +1,4 @@ -From cced9508238bd4ea087986ad683661cd7f27df27 Mon Sep 17 00:00:00 2001 +From f69248c97b449709b54d4f431ff965c0dc7e2148 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Mon, 24 Jun 2019 16:03:55 -0700 Subject: [PATCH] ip: Fix get_link_kind when linked statically @@ -8,10 +8,10 @@ Subject: [PATCH] ip: Fix get_link_kind when linked statically 1 file changed, 86 insertions(+), 9 deletions(-) diff --git a/ip/iplink.c b/ip/iplink.c -index 3e86ec5a..27a33591 100644 +index 43f86189..a9fc9b11 100644 --- a/ip/iplink.c +++ b/ip/iplink.c -@@ -149,21 +149,98 @@ struct link_util *get_link_kind(const char *id) +@@ -150,21 +150,98 @@ struct link_util *get_link_kind(const char *id) char buf[256]; struct link_util *l; @@ -120,5 +120,5 @@ index 3e86ec5a..27a33591 100644 snprintf(buf, sizeof(buf), "%s_link_util", id); l = dlsym(dlh, buf); -- -2.22.0 +2.23.0 diff --git a/pkg/iproute2/patch/0012-Use-alloca-instead-of-VLA-when-VLA-is-not-available.patch b/pkg/iproute2/patch/0012-Use-alloca-instead-of-VLA-when-VLA-is-not-available.patch @@ -1,4 +1,4 @@ -From cbdee3bebdd860293f5c6803e4afebfea307e205 Mon Sep 17 00:00:00 2001 +From 073eca7960250e99c4c6d8c135491c4c85269652 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,10 +8,10 @@ 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 e440fac4..2fb82076 100644 +index 4b1fba8f..648df0fb 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c -@@ -247,7 +247,12 @@ static void print_linktype(FILE *fp, struct rtattr *tb) +@@ -249,7 +249,12 @@ static void print_linktype(FILE *fp, struct rtattr *tb) lu = get_link_kind(kind); if (lu && lu->print_opt) { @@ -25,7 +25,7 @@ index e440fac4..2fb82076 100644 if (linkinfo[IFLA_INFO_DATA]) { parse_rtattr_nested(attr, lu->maxattr, -@@ -281,7 +286,12 @@ static void print_linktype(FILE *fp, struct rtattr *tb) +@@ -283,7 +288,12 @@ static void print_linktype(FILE *fp, struct rtattr *tb) slave_lu = get_link_kind(slave); if (slave_lu && slave_lu->print_opt) { @@ -40,5 +40,5 @@ index e440fac4..2fb82076 100644 if (linkinfo[IFLA_INFO_SLAVE_DATA]) { parse_rtattr_nested(attr, slave_lu->maxattr, -- -2.22.0 +2.23.0 diff --git a/pkg/iproute2/patch/0014-Prevent-multiple-definitions-of-global.patch b/pkg/iproute2/patch/0014-Prevent-multiple-definitions-of-global.patch @@ -0,0 +1,25 @@ +From b6e8de281dc67c4d12eaf54d39bfc056a8c1056b Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Thu, 3 Oct 2019 23:36:32 -0700 +Subject: [PATCH] Prevent multiple definitions of global + +--- + lib/rt_names.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/lib/rt_names.c b/lib/rt_names.c +index 41cccfb8..66f2d984 100644 +--- a/lib/rt_names.c ++++ b/lib/rt_names.c +@@ -27,8 +27,6 @@ + + #define NAME_MAX_LEN 512 + +-int numeric; +- + struct rtnl_hash_entry { + struct rtnl_hash_entry *next; + const char *name; +-- +2.23.0 + diff --git a/pkg/iproute2/ver b/pkg/iproute2/ver @@ -1 +1 @@ -5.2.0 r0 +5.3.0 r0