Page MenuHomeFreeBSD

D59595.1794097738.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D59595.1794097738.diff

diff --git a/sys/compat/linux/linux_netlink.c b/sys/compat/linux/linux_netlink.c
--- a/sys/compat/linux/linux_netlink.c
+++ b/sys/compat/linux/linux_netlink.c
@@ -245,13 +245,16 @@
* Translate a FreeBSD interface name to a Linux interface name.
*/
static bool
-nlmsg_translate_ifname_nla(struct nlattr *nla, struct nl_writer *nw)
+nlmsg_translate_ifname_nla(struct nlmsghdr *hdr, struct nlattr *nla,
+ struct nl_writer *nw)
{
+ struct ifinfomsg *ifinfo;
char ifname[LINUX_IFNAMSIZ];
- if (nw->ifp == NULL)
- return (false);
- (void)ifname_bsd_to_linux_ifp(nw->ifp, ifname, sizeof(ifname));
+ ifinfo = (struct ifinfomsg *)(hdr + 1);
+ if (ifname_bsd_to_linux_idx(ifinfo->ifi_index, ifname,
+ sizeof(ifname)) <= 0)
+ return (nlmsg_copy_nla(nla, nw));
return (nlattr_add_string(nw, IFLA_IFNAME, ifname));
}
@@ -272,7 +275,7 @@
case NL_RTM_GETLINK:
switch (nla->nla_type) {
case IFLA_IFNAME:
- return (nlmsg_translate_ifname_nla(nla, nw));
+ return (nlmsg_translate_ifname_nla(hdr, nla, nw));
default:
break;
}

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 8, 12:28 AM (17 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
39008146
Default Alt Text
D59595.1794097738.diff (1 KB)

Event Timeline