diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2018-07-05 13:13:48 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2018-07-05 13:13:48 +0000 |
commit | f38b68ae8aadd1e3fc55f9627b41651eab2f767e (patch) | |
tree | 2532422476e51289aa873aa68c5e7b030eed8460 /sys/netinet/tcp_var.h | |
parent | 4a7ec940e45555ef9e0398fccd83d5780857d927 (diff) | |
download | src-f38b68ae8aadd1e3fc55f9627b41651eab2f767e.tar.gz src-f38b68ae8aadd1e3fc55f9627b41651eab2f767e.zip |
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
Notes
Notes:
svn path=/head/; revision=335979
Diffstat (limited to 'sys/netinet/tcp_var.h')
-rw-r--r-- | sys/netinet/tcp_var.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index b89e90976506..c0f870ad6e10 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -677,7 +677,7 @@ void hhook_run_tcp_est_out(struct tcpcb *tp, */ #if defined(_NETINET_IN_PCB_H_) && defined(_SYS_SOCKETVAR_H_) struct xtcpcb { - size_t xt_len; /* length of this structure */ + ksize_t xt_len; /* length of this structure */ struct xinpcb xt_inp; char xt_stack[TCP_FUNCTION_NAME_LEN_MAX]; /* (s) */ char xt_logid[TCP_LOG_ID_LEN]; /* (s) */ |