lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 7 Dec 2020 07:35:21 +0200 From: Moshe Shemesh <moshe@...lanox.com> To: Stephen Hemminger <stephen@...workplumber.org>, David Ahern <dsahern@...il.com>, Jakub Kicinski <kuba@...nel.org>, Jiri Pirko <jiri@...dia.com>, netdev@...r.kernel.org Cc: Moshe Shemesh <moshe@...lanox.com> Subject: [PATCH iproute2-net v2 2/3] devlink: Add pr_out_dev() helper function Add pr_out_dev() helper function and use it both by cmd_dev_show_cb() and by cmd_mon_show_cb(). Dev stats will be added on the next patch to dev context, so cmd_mon_show_cb() should print the whole dev context and not just dev handle. Signed-off-by: Moshe Shemesh <moshe@...lanox.com> Reviewed-by: Jiri Pirko <jiri@...dia.com> --- devlink/devlink.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/devlink/devlink.c b/devlink/devlink.c index 128c81b8..b42eb1b9 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -2975,17 +2975,11 @@ static int cmd_dev_param(struct dl *dl) pr_err("Command \"%s\" not found\n", dl_argv(dl)); return -ENOENT; } -static int cmd_dev_show_cb(const struct nlmsghdr *nlh, void *data) + +static void pr_out_dev(struct dl *dl, struct nlattr **tb) { - struct dl *dl = data; - struct nlattr *tb[DEVLINK_ATTR_MAX + 1] = {}; - struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); uint8_t reload_failed = 0; - mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); - if (!tb[DEVLINK_ATTR_BUS_NAME] || !tb[DEVLINK_ATTR_DEV_NAME]) - return MNL_CB_ERROR; - if (tb[DEVLINK_ATTR_RELOAD_FAILED]) reload_failed = mnl_attr_get_u8(tb[DEVLINK_ATTR_RELOAD_FAILED]); @@ -2997,7 +2991,19 @@ static int cmd_dev_show_cb(const struct nlmsghdr *nlh, void *data) } else { pr_out_handle(dl, tb); } +} +static int cmd_dev_show_cb(const struct nlmsghdr *nlh, void *data) +{ + struct dl *dl = data; + struct nlattr *tb[DEVLINK_ATTR_MAX + 1] = {}; + struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh); + + mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb); + if (!tb[DEVLINK_ATTR_BUS_NAME] || !tb[DEVLINK_ATTR_DEV_NAME]) + return MNL_CB_ERROR; + + pr_out_dev(dl, tb); return MNL_CB_OK; } @@ -4842,7 +4848,7 @@ static int cmd_mon_show_cb(const struct nlmsghdr *nlh, void *data) if (!tb[DEVLINK_ATTR_BUS_NAME] || !tb[DEVLINK_ATTR_DEV_NAME]) return MNL_CB_ERROR; pr_out_mon_header(genl->cmd); - pr_out_handle(dl, tb); + pr_out_dev(dl, tb); pr_out_mon_footer(); break; case DEVLINK_CMD_PORT_GET: /* fall through */ -- 2.26.2
Powered by blists - more mailing lists