Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/kern/uipc_syscalls.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/kern/uipc_syscalls.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.106 retrieving revision 1.106.2.3 diff -u -p -r1.106 -r1.106.2.3 --- src/sys/kern/uipc_syscalls.c 2007/02/09 21:55:32 1.106 +++ src/sys/kern/uipc_syscalls.c 2007/05/07 10:55:49 1.106.2.3 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_syscalls.c,v 1.106 2007/02/09 21:55:32 ad Exp $ */ +/* $NetBSD: uipc_syscalls.c,v 1.106.2.3 2007/05/07 10:55:49 yamt Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1990, 1993 @@ -32,7 +32,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls.c,v 1.106 2007/02/09 21:55:32 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls.c,v 1.106.2.3 2007/05/07 10:55:49 yamt Exp $"); #include "opt_ktrace.h" #include "opt_pipe.h" @@ -95,7 +95,7 @@ sys___socket30(struct lwp *l, void *v, r fdremove(fdp, fd); ffree(fp); } else { - fp->f_data = (caddr_t)so; + fp->f_data = (void *)so; FILE_SET_MATURE(fp); FILE_UNUSE(fp, l); *retval = fd; @@ -199,7 +199,7 @@ sys_accept(struct lwp *l, void *v, regis so->so_error = ECONNABORTED; break; } - error = tsleep((caddr_t)&so->so_timeo, PSOCK | PCATCH, + error = tsleep((void *)&so->so_timeo, PSOCK | PCATCH, netcon, 0); if (error) { splx(s); @@ -231,27 +231,25 @@ sys_accept(struct lwp *l, void *v, regis fp->f_type = DTYPE_SOCKET; fp->f_flag = fflag; fp->f_ops = &socketops; - fp->f_data = (caddr_t)so; - FILE_UNUSE(fp, l); + fp->f_data = (void *)so; nam = m_get(M_WAIT, MT_SONAME); if ((error = soaccept(so, nam)) == 0 && SCARG(uap, name)) { if (namelen > nam->m_len) namelen = nam->m_len; /* SHOULD COPY OUT A CHAIN HERE */ - if ((error = copyout(mtod(nam, caddr_t), - (caddr_t)SCARG(uap, name), namelen)) != 0 || - (error = copyout((caddr_t)&namelen, - (caddr_t)SCARG(uap, anamelen), - sizeof(*SCARG(uap, anamelen)))) != 0) { - soclose(so); + error = copyout(mtod(nam, void *), SCARG(uap, name), namelen); + if (error == 0) { + error = copyout(&namelen, SCARG(uap, anamelen), + sizeof(*SCARG(uap, anamelen))); } } /* if an error occurred, free the file descriptor */ if (error) { fdremove(fdp, fd); - ffree(fp); + closef(fp, l); } else { FILE_SET_MATURE(fp); + FILE_UNUSE(fp, l); } m_freem(nam); splx(s); @@ -298,7 +296,7 @@ sys_connect(struct lwp *l, void *v, regi } s = splsoftnet(); while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) { - error = tsleep((caddr_t)&so->so_timeo, PSOCK | PCATCH, + error = tsleep((void *)&so->so_timeo, PSOCK | PCATCH, netcon, 0); if (error) { if (error == EINTR || error == ERESTART) @@ -352,13 +350,13 @@ sys_socketpair(struct lwp *l, void *v, r fp1->f_flag = FREAD|FWRITE; fp1->f_type = DTYPE_SOCKET; fp1->f_ops = &socketops; - fp1->f_data = (caddr_t)so1; + fp1->f_data = (void *)so1; if ((error = falloc(l, &fp2, &fd)) != 0) goto free3; fp2->f_flag = FREAD|FWRITE; fp2->f_type = DTYPE_SOCKET; fp2->f_ops = &socketops; - fp2->f_data = (caddr_t)so2; + fp2->f_data = (void *)so2; sv[1] = fd; if ((error = soconnect2(so1, so2)) != 0) goto free4; @@ -369,7 +367,7 @@ sys_socketpair(struct lwp *l, void *v, r if ((error = soconnect2(so2, so1)) != 0) goto free4; } - error = copyout((caddr_t)sv, (caddr_t)SCARG(uap, rsv), + error = copyout((void *)sv, (void *)SCARG(uap, rsv), 2 * sizeof(int)); FILE_SET_MATURE(fp1); FILE_SET_MATURE(fp2); @@ -428,7 +426,7 @@ sys_sendmsg(struct lwp *l, void *v, regi struct iovec aiov[UIO_SMALLIOV], *iov; int error; - error = copyin(SCARG(uap, msg), (caddr_t)&msg, sizeof(msg)); + error = copyin(SCARG(uap, msg), (void *)&msg, sizeof(msg)); if (error) return (error); if ((unsigned int)msg.msg_iovlen > UIO_SMALLIOV) { @@ -439,7 +437,7 @@ sys_sendmsg(struct lwp *l, void *v, regi } else iov = aiov; if ((unsigned int)msg.msg_iovlen > 0) { - error = copyin((caddr_t)msg.msg_iov, (caddr_t)iov, + error = copyin((void *)msg.msg_iov, (void *)iov, (size_t)(msg.msg_iovlen * sizeof(struct iovec))); if (error) goto done; @@ -527,7 +525,7 @@ sendit(struct lwp *l, int s, struct msgh int iovlen = auio.uio_iovcnt * sizeof(struct iovec); ktriov = malloc(iovlen, M_TEMP, M_WAITOK); - memcpy((caddr_t)ktriov, (caddr_t)auio.uio_iov, iovlen); + memcpy((void *)ktriov, (void *)auio.uio_iov, iovlen); } #endif len = auio.uio_resid; @@ -575,14 +573,14 @@ sys_recvfrom(struct lwp *l, void *v, reg int error; if (SCARG(uap, fromlenaddr)) { - error = copyin((caddr_t)SCARG(uap, fromlenaddr), - (caddr_t)&msg.msg_namelen, + error = copyin((void *)SCARG(uap, fromlenaddr), + (void *)&msg.msg_namelen, sizeof(msg.msg_namelen)); if (error) return (error); } else msg.msg_namelen = 0; - msg.msg_name = (caddr_t)SCARG(uap, from); + msg.msg_name = (void *)SCARG(uap, from); msg.msg_iov = &aiov; msg.msg_iovlen = 1; aiov.iov_base = SCARG(uap, buf); @@ -590,7 +588,7 @@ sys_recvfrom(struct lwp *l, void *v, reg msg.msg_control = 0; msg.msg_flags = SCARG(uap, flags); return (recvit(l, SCARG(uap, s), &msg, - (caddr_t)SCARG(uap, fromlenaddr), retval)); + (void *)SCARG(uap, fromlenaddr), retval)); } int @@ -605,7 +603,7 @@ sys_recvmsg(struct lwp *l, void *v, regi struct msghdr msg; int error; - error = copyin((caddr_t)SCARG(uap, msg), (caddr_t)&msg, + error = copyin((void *)SCARG(uap, msg), (void *)&msg, sizeof(msg)); if (error) return (error); @@ -617,7 +615,7 @@ sys_recvmsg(struct lwp *l, void *v, regi } else iov = aiov; if ((unsigned int)msg.msg_iovlen > 0) { - error = copyin((caddr_t)msg.msg_iov, (caddr_t)iov, + error = copyin((void *)msg.msg_iov, (void *)iov, (size_t)(msg.msg_iovlen * sizeof(struct iovec))); if (error) goto done; @@ -625,9 +623,9 @@ sys_recvmsg(struct lwp *l, void *v, regi uiov = msg.msg_iov; msg.msg_iov = iov; msg.msg_flags = SCARG(uap, flags); - if ((error = recvit(l, SCARG(uap, s), &msg, (caddr_t)0, retval)) == 0) { + if ((error = recvit(l, SCARG(uap, s), &msg, (void *)0, retval)) == 0) { msg.msg_iov = uiov; - error = copyout((caddr_t)&msg, (caddr_t)SCARG(uap, msg), + error = copyout((void *)&msg, (void *)SCARG(uap, msg), sizeof(msg)); } done: @@ -660,7 +658,7 @@ adjust_rights(struct mbuf *m, int len, s } int -recvit(struct lwp *l, int s, struct msghdr *mp, caddr_t namelenp, +recvit(struct lwp *l, int s, struct msghdr *mp, void *namelenp, register_t *retsize) { struct proc *p; @@ -717,7 +715,7 @@ recvit(struct lwp *l, int s, struct msgh int iovlen = auio.uio_iovcnt * sizeof(struct iovec); ktriov = malloc(iovlen, M_TEMP, M_WAITOK); - memcpy((caddr_t)ktriov, (caddr_t)auio.uio_iov, iovlen); + memcpy((void *)ktriov, (void *)auio.uio_iov, iovlen); } #endif len = auio.uio_resid; @@ -747,14 +745,14 @@ recvit(struct lwp *l, int s, struct msgh if (len > from->m_len) len = from->m_len; /* else if len < from->m_len ??? */ - error = copyout(mtod(from, caddr_t), - (caddr_t)mp->msg_name, (unsigned)len); + error = copyout(mtod(from, void *), + (void *)mp->msg_name, (unsigned)len); if (error) goto out; } mp->msg_namelen = len; if (namelenp && - (error = copyout((caddr_t)&len, namelenp, sizeof(int)))) + (error = copyout((void *)&len, namelenp, sizeof(int)))) goto out; } if (mp->msg_control) { @@ -763,7 +761,7 @@ recvit(struct lwp *l, int s, struct msgh len = 0; else { struct mbuf *m = control; - caddr_t q = (caddr_t)mp->msg_control; + char *q = (char *)mp->msg_control; do { i = m->m_len; @@ -774,7 +772,7 @@ recvit(struct lwp *l, int s, struct msgh cmsg_type == SCM_RIGHTS) adjust_rights(m, len, l); } - error = copyout(mtod(m, caddr_t), q, + error = copyout(mtod(m, void *), q, (unsigned)i); m = m->m_next; if (m) @@ -790,7 +788,7 @@ recvit(struct lwp *l, int s, struct msgh adjust_rights(m, 0, l); m = m->m_next; } - len = q - (caddr_t)mp->msg_control; + len = q - (char *)mp->msg_control; } mp->msg_controllen = len; } @@ -859,7 +857,7 @@ sys_setsockopt(struct lwp *l, void *v, r MCLAIM(m, so->so_mowner); if (len > MLEN) m_clget(m, M_WAIT); - error = copyin(SCARG(uap, val), mtod(m, caddr_t), len); + error = copyin(SCARG(uap, val), mtod(m, void *), len); if (error) { (void) m_free(m); goto out; @@ -893,8 +891,8 @@ sys_getsockopt(struct lwp *l, void *v, r if ((error = getsock(l->l_proc->p_fd, SCARG(uap, s), &fp)) != 0) return (error); if (SCARG(uap, val)) { - error = copyin((caddr_t)SCARG(uap, avalsize), - (caddr_t)&valsize, sizeof(valsize)); + error = copyin((void *)SCARG(uap, avalsize), + (void *)&valsize, sizeof(valsize)); if (error) goto out; } else @@ -905,7 +903,7 @@ sys_getsockopt(struct lwp *l, void *v, r op = 0; while (m && !error && op < valsize) { i = min(m->m_len, (valsize - op)); - error = copyout(mtod(m, caddr_t), SCARG(uap, val), i); + error = copyout(mtod(m, void *), SCARG(uap, val), i); op += i; SCARG(uap, val) = ((uint8_t *)SCARG(uap, val)) + i; m = m_free(m); @@ -947,13 +945,13 @@ sys_pipe(struct lwp *l, void *v, registe rf->f_flag = FREAD; rf->f_type = DTYPE_SOCKET; rf->f_ops = &socketops; - rf->f_data = (caddr_t)rso; + rf->f_data = (void *)rso; if ((error = falloc(l, &wf, &fd)) != 0) goto free3; wf->f_flag = FWRITE; wf->f_type = DTYPE_SOCKET; wf->f_ops = &socketops; - wf->f_data = (caddr_t)wso; + wf->f_data = (void *)wso; retval[1] = fd; if ((error = unp_connect2(wso, rso, PRU_CONNECT2)) != 0) goto free4; @@ -1001,7 +999,7 @@ sys_getsockname(struct lwp *l, void *v, /* getsock() will use the descriptor for us */ if ((error = getsock(p->p_fd, SCARG(uap, fdes), &fp)) != 0) return (error); - error = copyin((caddr_t)SCARG(uap, alen), (caddr_t)&len, sizeof(len)); + error = copyin((void *)SCARG(uap, alen), (void *)&len, sizeof(len)); if (error) goto out; so = (struct socket *)fp->f_data; @@ -1013,9 +1011,9 @@ sys_getsockname(struct lwp *l, void *v, goto bad; if (len > m->m_len) len = m->m_len; - error = copyout(mtod(m, caddr_t), (caddr_t)SCARG(uap, asa), len); + error = copyout(mtod(m, void *), (void *)SCARG(uap, asa), len); if (error == 0) - error = copyout((caddr_t)&len, (caddr_t)SCARG(uap, alen), + error = copyout((void *)&len, (void *)SCARG(uap, alen), sizeof(len)); bad: m_freem(m); @@ -1052,7 +1050,7 @@ sys_getpeername(struct lwp *l, void *v, error = ENOTCONN; goto out; } - error = copyin((caddr_t)SCARG(uap, alen), (caddr_t)&len, sizeof(len)); + error = copyin((void *)SCARG(uap, alen), (void *)&len, sizeof(len)); if (error) goto out; m = m_getclr(M_WAIT, MT_SONAME); @@ -1063,10 +1061,10 @@ sys_getpeername(struct lwp *l, void *v, goto bad; if (len > m->m_len) len = m->m_len; - error = copyout(mtod(m, caddr_t), (caddr_t)SCARG(uap, asa), len); + error = copyout(mtod(m, void *), (void *)SCARG(uap, asa), len); if (error) goto bad; - error = copyout((caddr_t)&len, (caddr_t)SCARG(uap, alen), sizeof(len)); + error = copyout((void *)&len, (void *)SCARG(uap, alen), sizeof(len)); bad: m_freem(m); out: @@ -1104,7 +1102,7 @@ sockargs(struct mbuf **mp, const void *b MEXTMALLOC(m, buflen, M_WAITOK); } m->m_len = buflen; - error = copyin(bf, mtod(m, caddr_t), buflen); + error = copyin(bf, mtod(m, void *), buflen); if (error) { (void) m_free(m); return (error);