svn commit: r336023 - in head/sys: kern netinet

Brooks Davis brooks at FreeBSD.org
Fri Jul 6 10:03:35 UTC 2018


Author: brooks
Date: Fri Jul  6 10:03:33 2018
New Revision: 336023
URL: https://svnweb.freebsd.org/changeset/base/336023

Log:
  Correct breakage on 32-bit platforms from r335979.

Modified:
  head/sys/kern/kern_descrip.c
  head/sys/kern/uipc_socket.c
  head/sys/kern/uipc_usrreq.c
  head/sys/netinet/in_pcb.c

Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c	Fri Jul  6 06:21:24 2018	(r336022)
+++ head/sys/kern/kern_descrip.c	Fri Jul  6 10:03:33 2018	(r336023)
@@ -3362,10 +3362,10 @@ sysctl_kern_file(SYSCTL_HANDLER_ARGS)
 			if ((fp = fdp->fd_ofiles[n].fde_file) == NULL)
 				continue;
 			xf.xf_fd = n;
-			xf.xf_file = (kvaddr_t)fp;
-			xf.xf_data = (kvaddr_t)fp->f_data;
-			xf.xf_vnode = (kvaddr_t)fp->f_vnode;
-			xf.xf_type = (kvaddr_t)fp->f_type;
+			xf.xf_file = (kvaddr_t)(uintptr_t)fp;
+			xf.xf_data = (kvaddr_t)(uintptr_t)fp->f_data;
+			xf.xf_vnode = (kvaddr_t)(uintptr_t)fp->f_vnode;
+			xf.xf_type = (kvaddr_t)(uintptr_t)fp->f_type;
 			xf.xf_count = fp->f_count;
 			xf.xf_msgcount = 0;
 			xf.xf_offset = foffset_get(fp);

Modified: head/sys/kern/uipc_socket.c
==============================================================================
--- head/sys/kern/uipc_socket.c	Fri Jul  6 06:21:24 2018	(r336022)
+++ head/sys/kern/uipc_socket.c	Fri Jul  6 10:03:33 2018	(r336023)
@@ -3985,12 +3985,12 @@ sotoxsocket(struct socket *so, struct xsocket *xso)
 {
 
 	xso->xso_len = sizeof *xso;
-	xso->xso_so = (kvaddr_t)so;
+	xso->xso_so = (kvaddr_t)(uintptr_t)so;
 	xso->so_type = so->so_type;
 	xso->so_options = so->so_options;
 	xso->so_linger = so->so_linger;
 	xso->so_state = so->so_state;
-	xso->so_pcb = (kvaddr_t)so->so_pcb;
+	xso->so_pcb = (kvaddr_t)(uintptr_t)so->so_pcb;
 	xso->xso_protocol = so->so_proto->pr_protocol;
 	xso->xso_family = so->so_proto->pr_domain->dom_family;
 	xso->so_timeo = so->so_timeo;

Modified: head/sys/kern/uipc_usrreq.c
==============================================================================
--- head/sys/kern/uipc_usrreq.c	Fri Jul  6 06:21:24 2018	(r336022)
+++ head/sys/kern/uipc_usrreq.c	Fri Jul  6 10:03:33 2018	(r336023)
@@ -1853,7 +1853,7 @@ unp_pcblist(SYSCTL_HANDLER_ARGS)
 
 		if (freeunp == 0 && unp->unp_gencnt <= gencnt) {
 			xu->xu_len = sizeof *xu;
-			xu->xu_unpp = (kvaddr_t)unp;
+			xu->xu_unpp = (kvaddr_t)(uintptr_t)unp;
 			/*
 			 * XXX - need more locking here to protect against
 			 * connect/disconnect races for SMP.
@@ -1870,10 +1870,12 @@ unp_pcblist(SYSCTL_HANDLER_ARGS)
 				      unp->unp_conn->unp_addr->sun_len);
 			else
 				bzero(&xu->xu_caddr, sizeof(xu->xu_caddr));
-			xu->unp_vnode = (kvaddr_t)unp->unp_vnode;
-			xu->unp_conn = (kvaddr_t)unp->unp_conn;
-			xu->xu_firstref = (kvaddr_t)LIST_FIRST(&unp->unp_refs);
-			xu->xu_nextref = (kvaddr_t)LIST_NEXT(unp, unp_reflink);
+			xu->unp_vnode = (kvaddr_t)(uintptr_t)unp->unp_vnode;
+			xu->unp_conn = (kvaddr_t)(uintptr_t)unp->unp_conn;
+			xu->xu_firstref =
+			    (kvaddr_t)(uintptr_t)LIST_FIRST(&unp->unp_refs);
+			xu->xu_nextref =
+			    (kvaddr_t)(uintptr_t)LIST_NEXT(unp, unp_reflink);
 			xu->unp_gencnt = unp->unp_gencnt;
 			sotoxsocket(unp->unp_socket, &xu->xu_socket);
 			UNP_PCB_UNLOCK(unp);

Modified: head/sys/netinet/in_pcb.c
==============================================================================
--- head/sys/netinet/in_pcb.c	Fri Jul  6 06:21:24 2018	(r336022)
+++ head/sys/netinet/in_pcb.c	Fri Jul  6 10:03:33 2018	(r336023)
@@ -2906,7 +2906,7 @@ in_pcbtoxinpcb(const struct inpcb *inp, struct xinpcb 
 		bzero(&xi->xi_socket, sizeof(struct xsocket));
 	bcopy(&inp->inp_inc, &xi->inp_inc, sizeof(struct in_conninfo));
 	xi->inp_gencnt = inp->inp_gencnt;
-	xi->inp_ppcb = (kvaddr_t)inp->inp_ppcb;
+	xi->inp_ppcb = (kvaddr_t)(uintptr_t)inp->inp_ppcb;
 	xi->inp_flow = inp->inp_flow;
 	xi->inp_flowid = inp->inp_flowid;
 	xi->inp_flowtype = inp->inp_flowtype;


More information about the svn-src-all mailing list