svn commit: r335979 - in head: . lib/libkvm sys/kern sys/netinet sys/sys usr.bin/netstat usr.bin/sockstat

Gleb Smirnoff glebius at freebsd.org
Fri Aug 3 22:30:32 UTC 2018


  Hi Brooks,

On Thu, Jul 05, 2018 at 01:13:49PM +0000, Brooks Davis wrote:
B> Author: brooks
B> Date: Thu Jul  5 13:13:48 2018
B> New Revision: 335979
B> URL: https://svnweb.freebsd.org/changeset/base/335979
B> 
B> Log:
B>   Make struct xinpcb and friends word-size independent.
B>   
B>   Replace size_t members with ksize_t (uint64_t) and pointer members
B>   (never used as pointers in userspace, but instead as unique
B>   idenitifiers) with kvaddr_t (uint64_t). This makes the structs
B>   identical between 32-bit and 64-bit ABIs.
B>   
B>   On 64-bit bit systems, the ABI is maintained. On 32-bit systems,
B>   this is an ABI breaking change. The ABI of most of these structs
B>   was previously broken in r315662.  This also imposes a small API
B>   change on userspace consumers who must handle kernel pointers
B>   becoming virtual addresses.

Thanks for this change. After it the anonymous unions in xinpcb, unpxb
are no longer needed. Do you agree? I added them to make sizes on
32-bit and 64-bit ABIs to be identical. I prefer your new code,
but didn't the unions work? Anyway, now they can be removed.

-- 
Gleb Smirnoff


More information about the svn-src-head mailing list