Created attachment 193463 [details]
The patch in https://reviews.freebsd.org/D15386 breaks the API (and ABI) of a few sysctls used for network status (netstat and sockstat in particular) in order to make 32-bit compatibility easier. The ABI was already broken after the creation of the 11 branch so we're just doing it again.
I suspect a small number of programs in ports use the same APIs and will need updates.
Exp-run looks fine.
Maybe you can have a look at devel/sigar and sysutils/py-psutil as they are candidates for using those API
I took a quick look at those ports. devel/sigar does use this API, but so long as it compiles it should work (the API change just change things that are always used as integers from void * (etc) to int64_t.
sysutils/py-psutil has comments about using xsocket, xinpcb, etc, but doesn't seem to actually do so. Given there wasn't any clear fallout, I think this is ready to land.
A commit references this bug:
Date: Thu Jul 5 13:13:53 UTC 2018
New revision: 335979
Make struct xinpcb and friends word-size independent.
Replace size_t members with ksize_t (uint64_t) and pointer members
(never used as pointers in userspace, but instead as unique
idenitifiers) with kvaddr_t (uint64_t). This makes the structs
identical between 32-bit and 64-bit ABIs.
On 64-bit bit systems, the ABI is maintained. On 32-bit systems,
this is an ABI breaking change. The ABI of most of these structs
was previously broken in r315662. This also imposes a small API
change on userspace consumers who must handle kernel pointers
becoming virtual addresses.
PR: 228301 (exp-run by antoine)
Reviewed by: jtl, kib, rwatson (various versions)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D15386