Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 May 2024 17:38:02 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 279012] Linuxulator: Glibc getaddrinfo(3) Breakage
Message-ID:  <bug-279012-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D279012

            Bug ID: 279012
           Summary: Linuxulator: Glibc getaddrinfo(3) Breakage
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: gnats@duck.com

In commit
https://cgit.freebsd.org/src/commit?id=3Db977dd1ea5fbc2df3f1279330be4d08932=
2eb2cf
, the check

if (hdr->nlmsg_len < sizeof(struct nlmsghdr) + sizeof(struct ifaddrmsg))
    return (EBADMSG);

in `sys/compat/linux/linux_netlink.c:97` was added and caused glibc's=20
getaddrinfo(3) to break. This, as one might think, causes quite a few=20
programs in the linuxulator to stop working. After looking into it, glibc=20
is indeed not sending what we're expecting. Not only are they not=20
including the space of the header, but they're also using the seemingly=20
depreciated (i.e no documentation [i could find] speaking of it)=20
`rtgenmsg` format. [1] While indeed we also have this in our source tree=20
`sys/netlink/route/route.h:363`, it's used nowhere except in=20
`crypto/heimdal/lib/roken/getifaddrs.c:275`; however, even in that code,=20
they make sure to include the space of the header with the=20
`NLMSG_LENGTH` macro. Obliviously, please take this with a large grain=20
of salt as I'm quite inexperienced. That being said, I believe our best=20
bet would be to contact upstream, and in the meantime, implement this=20
functionality. On the latter half, I would be more than happy to do said=20
implementing, all I would need are some pointers to relevant=20
documentation.

Cheers!

[1]
https://elixir.bootlin.com/glibc/latest/source/sysdeps/unix/sysv/linux/chec=
k_pf.c#L92

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-279012-227>