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 linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <ZTt0RRgTU1Cw4LuJ@nanopsycho> Date: Fri, 27 Oct 2023 10:26:45 +0200 From: Jiri Pirko <jiri@...nulli.us> To: David Ahern <dsahern@...il.com> Cc: netdev@...r.kernel.org, stephen@...workplumber.org, daniel.machon@...rochip.com Subject: Re: [patch iproute2-next v3 3/6] devlink: extend pr_out_nested_handle() to print object Thu, Oct 26, 2023 at 07:03:30PM CEST, dsahern@...il.com wrote: >On 10/24/23 4:04 AM, Jiri Pirko wrote: >> @@ -2861,6 +2842,38 @@ static void pr_out_selftests_handle_end(struct dl *dl) >> __pr_out_newline(); >> } >> >> +static void __pr_out_nested_handle(struct dl *dl, struct nlattr *nla_nested_dl, >> + bool is_object) >> +{ >> + struct nlattr *tb[DEVLINK_ATTR_MAX + 1] = {}; >> + int err; >> + >> + err = mnl_attr_parse_nested(nla_nested_dl, attr_cb, tb); >> + if (err != MNL_CB_OK) >> + return; >> + >> + if (!tb[DEVLINK_ATTR_BUS_NAME] || >> + !tb[DEVLINK_ATTR_DEV_NAME]) >> + return; >> + >> + if (!is_object) { >> + char buf[64]; >> + >> + sprintf(buf, "%s/%s", mnl_attr_get_str(tb[DEVLINK_ATTR_BUS_NAME]), >> + mnl_attr_get_str(tb[DEVLINK_ATTR_DEV_NAME])); > >buf[64] - 1 for null terminator - 16 for IFNAMSIZ leaves 47. I do not IFNAMSIZ is irrelevant here. >see limits on bus name length, so how can you guarantee it is always < >47 characters? > >Make this snprintf, check the return and make sure buf is null terminated. I will fix it in separate patch, as this is just copied here. > >> + print_string(PRINT_ANY, "nested_devlink", " nested_devlink %s", buf); >> + return; >> + } >> + >> + __pr_out_handle_start(dl, tb, false, false); >> + pr_out_handle_end(dl); >> +} >> + >> +static void pr_out_nested_handle(struct nlattr *nla_nested_dl) >> +{ >> + __pr_out_nested_handle(NULL, nla_nested_dl, false); >> +} >> + >> static bool cmp_arr_last_port_handle(struct dl *dl, const char *bus_name, >> const char *dev_name, uint32_t port_index) >> { >
Powered by blists - more mailing lists