aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_var.h
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2018-07-05 13:13:48 +0000
committerBrooks Davis <brooks@FreeBSD.org>2018-07-05 13:13:48 +0000
commitf38b68ae8aadd1e3fc55f9627b41651eab2f767e (patch)
tree2532422476e51289aa873aa68c5e7b030eed8460 /sys/netinet/tcp_var.h
parent4a7ec940e45555ef9e0398fccd83d5780857d927 (diff)
downloadsrc-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.h2
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) */