From 9f87144f79138ac5b0ff53aaf506009574101f2b Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 6 May 2006 06:38:39 +0000 Subject: [PATCH] The fdrop() procedure no longer needs a thread argument, remove it. --- sys/dev/misc/streams/streams.c | 8 ++-- sys/emulation/linux/linux_socket.c | 4 +- sys/emulation/svr4/svr4_stream.c | 12 +++--- sys/kern/imgact_elf.c | 4 +- sys/kern/kern_checkpoint.c | 6 +-- sys/kern/kern_descrip.c | 43 ++++++++++----------- sys/kern/kern_event.c | 12 +++--- sys/kern/kern_fp.c | 8 ++-- sys/kern/sys_generic.c | 10 ++--- sys/kern/sys_pipe.c | 10 ++--- sys/kern/uipc_syscalls.c | 62 +++++++++++++++--------------- sys/kern/vfs_aio.c | 8 ++-- sys/kern/vfs_jops.c | 6 +-- sys/kern/vfs_journal.c | 6 +-- sys/kern/vfs_syscalls.c | 32 +++++++-------- sys/opencrypto/cryptodev.c | 4 +- sys/sys/file.h | 5 +-- sys/sys/file2.h | 12 +++--- sys/vfs/nfs/nfs_syscalls.c | 6 +-- sys/vfs/portal/portal_vfsops.c | 8 ++-- sys/vm/vm_mmap.c | 4 +- 21 files changed, 134 insertions(+), 136 deletions(-) diff --git a/sys/dev/misc/streams/streams.c b/sys/dev/misc/streams/streams.c index 46f3630a92..4ec33269c6 100644 --- a/sys/dev/misc/streams/streams.c +++ b/sys/dev/misc/streams/streams.c @@ -31,7 +31,7 @@ * in 3.0-980524-SNAP then hacked a bit (but probably not enough :-). * * $FreeBSD: src/sys/dev/streams/streams.c,v 1.16.2.1 2001/02/26 04:23:07 jlemon Exp $ - * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.23 2006/05/06 02:43:08 dillon Exp $ + * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.24 2006/05/06 06:38:35 dillon Exp $ */ #include @@ -247,9 +247,9 @@ streamsopen(dev_t dev, int oflags, int devtype, d_thread_t *td) if ((error = socreate(family, &so, type, protocol, td)) != 0) { if (p->p_fd->fd_files[fd].fp == fp) { funsetfd(p->p_fd, fd); - fdrop(fp, td); + fdrop(fp); } - fdrop(fp, td); + fdrop(fp); return error; } @@ -258,7 +258,7 @@ streamsopen(dev_t dev, int oflags, int devtype, d_thread_t *td) fp->f_ops = &svr4_netops; fp->f_data = so; (void)svr4_stream_get(fp); - fdrop(fp, td); + fdrop(fp); lp->lwp_dupfd = fd; return ENXIO; } diff --git a/sys/emulation/linux/linux_socket.c b/sys/emulation/linux/linux_socket.c index 8930321b82..4c6afb3e61 100644 --- a/sys/emulation/linux/linux_socket.c +++ b/sys/emulation/linux/linux_socket.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.19.2.8 2001/11/07 20:33:55 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.21 2006/05/06 02:43:11 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.22 2006/05/06 06:38:36 dillon Exp $ */ #include @@ -382,7 +382,7 @@ linux_connect(struct linux_connect_args *args, int *res) error = so->so_error; so->so_emuldata = (void *)1; } - fdrop(fp, td); + fdrop(fp); return (error); } diff --git a/sys/emulation/svr4/svr4_stream.c b/sys/emulation/svr4/svr4_stream.c index 0d718e95c2..92ffb41851 100644 --- a/sys/emulation/svr4/svr4_stream.c +++ b/sys/emulation/svr4/svr4_stream.c @@ -28,7 +28,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_stream.c,v 1.12.2.2 2000/11/26 04:42:27 dillon Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.16 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.17 2006/05/06 06:38:37 dillon Exp $ */ /* @@ -180,14 +180,14 @@ svr4_sendit(struct thread *td, int s, struct msghdr *mp, int flags, iov = mp->msg_iov; for (i = 0; i < mp->msg_iovlen; i++, iov++) { if ((auio.uio_resid += iov->iov_len) < 0) { - fdrop(fp, td); + fdrop(fp); return (EINVAL); } } if (mp->msg_name) { error = getsockaddr(&to, mp->msg_name, mp->msg_namelen); if (error) { - fdrop(fp, td); + fdrop(fp); return (error); } } else { @@ -245,7 +245,7 @@ svr4_sendit(struct thread *td, int s, struct msghdr *mp, int flags, } #endif bad: - fdrop(fp, td); + fdrop(fp); if (to) FREE(to, M_SONAME); return (error); @@ -285,7 +285,7 @@ svr4_recvit(struct thread *td, int s, struct msghdr *mp, caddr_t namelenp, iov = mp->msg_iov; for (i = 0; i < mp->msg_iovlen; i++, iov++) { if ((auio.uio_resid += iov->iov_len) < 0) { - fdrop(fp, td); + fdrop(fp); return (EINVAL); } } @@ -372,7 +372,7 @@ out: FREE(fromsa, M_SONAME); if (control) m_freem(control); - fdrop(fp, td); + fdrop(fp); return (error); } diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 71fe5c6d3b..2a9bfee2ff 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -27,7 +27,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/kern/imgact_elf.c,v 1.73.2.13 2002/12/28 19:49:41 dillon Exp $ - * $DragonFly: src/sys/kern/imgact_elf.c,v 1.36 2006/05/05 21:15:08 dillon Exp $ + * $DragonFly: src/sys/kern/imgact_elf.c,v 1.37 2006/05/06 06:38:38 dillon Exp $ */ #include @@ -917,7 +917,7 @@ elf_coredump(struct proc *p, struct vnode *vp, off_t limit) fp->f_flag = 0; fp->f_ops = &badfileops; fp->f_data = NULL; - fdrop(fp, p->p_thread); + fdrop(fp); return (error); } diff --git a/sys/kern/kern_checkpoint.c b/sys/kern/kern_checkpoint.c index c62c2342e3..166d03b5a5 100644 --- a/sys/kern/kern_checkpoint.c +++ b/sys/kern/kern_checkpoint.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/kern/kern_checkpoint.c,v 1.6 2005/10/27 03:15:47 sephe Exp $ + * $DragonFly: src/sys/kern/kern_checkpoint.c,v 1.7 2006/05/06 06:38:38 dillon Exp $ */ #include @@ -710,7 +710,7 @@ sys_checkpoint(struct sys_checkpoint_args *uap) else error = ckpt_freeze_proc(p, fp); if (fp) - fdrop(fp, curthread); + fdrop(fp); break; case CKPT_THAW: if (uap->pid != -1) @@ -719,7 +719,7 @@ sys_checkpoint(struct sys_checkpoint_args *uap) return EBADF; uap->sysmsg_result = uap->retval; error = ckpt_thaw_proc(p, fp); - fdrop(fp, curthread); + fdrop(fp); break; default: error = EOPNOTSUPP; diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index c98982e918..4c977c1947 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -70,7 +70,7 @@ * * @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94 * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.81.2.19 2004/02/28 00:43:31 tegge Exp $ - * $DragonFly: src/sys/kern/kern_descrip.c,v 1.53 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/kern_descrip.c,v 1.54 2006/05/06 06:38:38 dillon Exp $ */ #include "opt_compat.h" @@ -241,31 +241,31 @@ kern_fcntl(int fd, int cmd, union fcntl_dat *dat, struct ucred *cred) tmp = fp->f_flag & FNONBLOCK; error = fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, cred); if (error) { - fdrop(fp, td); + fdrop(fp); return (error); } tmp = fp->f_flag & FASYNC; error = fo_ioctl(fp, FIOASYNC, (caddr_t)&tmp, cred); if (!error) { - fdrop(fp, td); + fdrop(fp); return (0); } fp->f_flag &= ~FNONBLOCK; tmp = 0; fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, cred); - fdrop(fp, td); + fdrop(fp); return (error); case F_GETOWN: fhold(fp); error = fo_ioctl(fp, FIOGETOWN, (caddr_t)&dat->fc_owner, cred); - fdrop(fp, td); + fdrop(fp); return(error); case F_SETOWN: fhold(fp); error = fo_ioctl(fp, FIOSETOWN, (caddr_t)&dat->fc_owner, cred); - fdrop(fp, td); + fdrop(fp); return(error); case F_SETLKW: @@ -321,7 +321,7 @@ kern_fcntl(int fd, int cmd, union fcntl_dat *dat, struct ucred *cred) (void) VOP_ADVLOCK(vp, (caddr_t)p->p_leader, F_UNLCK, &dat->fc_flock, F_POSIX); } - fdrop(fp, td); + fdrop(fp); return(error); case F_GETLK: @@ -335,14 +335,14 @@ kern_fcntl(int fd, int cmd, union fcntl_dat *dat, struct ucred *cred) if (dat->fc_flock.l_type != F_RDLCK && dat->fc_flock.l_type != F_WRLCK && dat->fc_flock.l_type != F_UNLCK) { - fdrop(fp, td); + fdrop(fp); return (EINVAL); } if (dat->fc_flock.l_whence == SEEK_CUR) dat->fc_flock.l_start += fp->f_offset; error = VOP_ADVLOCK(vp, (caddr_t)p->p_leader, F_GETLK, &dat->fc_flock, F_POSIX); - fdrop(fp, td); + fdrop(fp); return(error); default: return (EINVAL); @@ -450,7 +450,7 @@ kern_dup(enum dup_type type, int old, int new, int *res) if (type == DUP_VARIABLE || new >= fdp->fd_nfiles) { error = fdalloc(p, new, &newfd); if (error) { - fdrop(fp, td); + fdrop(fp); return (error); } fdalloced = TRUE; @@ -473,7 +473,7 @@ kern_dup(enum dup_type type, int old, int new, int *res) fdp->fd_files[fdp->fd_lastfile].fp == NULL) fdp->fd_lastfile--; } - fdrop(fp, td); + fdrop(fp); return (EBADF); } KASSERT(old != new, ("new fd is same as old")); @@ -760,7 +760,7 @@ kern_shutdown(int fd, int how) return (EBADF); fhold(fp); error = fo_shutdown(fp, how); - fdrop(fp, td); + fdrop(fp); return (error); } @@ -792,7 +792,7 @@ kern_fstat(int fd, struct stat *ub) return (EBADF); fhold(fp); error = fo_stat(fp, ub, p->p_ucred); - fdrop(fp, td); + fdrop(fp); return (error); } @@ -854,7 +854,7 @@ fpathconf(struct fpathconf_args *uap) error = EOPNOTSUPP; break; } - fdrop(fp, td); + fdrop(fp); return(error); } @@ -1084,7 +1084,7 @@ falloc(struct proc *p, struct file **resultfp, int *resultfd) LIST_INSERT_HEAD(&filehead, fp, f_list); if (resultfd) { if ((error = fsetfd(p, fp, resultfd)) != 0) { - fdrop(fp, p->p_thread); + fdrop(fp); fp = NULL; } } else { @@ -1334,7 +1334,7 @@ fdfree(struct proc *p) F_UNLCK, &lf, F_POSIX); - fdrop(fp, p->p_thread); + fdrop(fp); /* reload due to possible reallocation */ fdnode = &fdp->fd_files[i]; } @@ -1520,7 +1520,6 @@ fdcloseexec(struct proc *p) int fdcheckstd(struct proc *p) { - struct thread *td = p->p_thread; struct nlookupdata nd; struct filedesc *fdp; struct file *fp; @@ -1546,7 +1545,7 @@ fdcheckstd(struct proc *p) error = vn_open(&nd, fp, flags, 0); if (error == 0) error = fsetfd(p, fp, &fd); - fdrop(fp, td); + fdrop(fp); nlookup_done(&nd); if (error) break; @@ -1632,11 +1631,11 @@ closef(struct file *fp, struct thread *td) } } } - return (fdrop(fp, td)); + return (fdrop(fp)); } int -fdrop(struct file *fp, struct thread *td) +fdrop(struct file *fp) { struct flock lf; struct vnode *vp; @@ -1784,7 +1783,7 @@ dupfdopen(struct filedesc *fdp, int indx, int dfd, int mode, int error) * used to own. Release it. */ if (fp) - fdrop(fp, curthread); + fdrop(fp); return (0); case ENXIO: @@ -1805,7 +1804,7 @@ dupfdopen(struct filedesc *fdp, int indx, int dfd, int mode, int error) * used to own. Release it. */ if (fp) - fdrop(fp, curthread); + fdrop(fp); /* * Complete the clean up of the filedesc structure by * recomputing the various hints. diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 7fe562f273..78f10d0b23 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_event.c,v 1.2.2.10 2004/04/04 07:03:14 cperciva Exp $ - * $DragonFly: src/sys/kern/kern_event.c,v 1.21 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/kern_event.c,v 1.22 2006/05/06 06:38:38 dillon Exp $ */ #include @@ -379,7 +379,7 @@ kqueue(struct kqueue_args *uap) TAILQ_INIT(&kq->kq_head); fp->f_data = kq; uap->sysmsg_result = fd; - fdrop(fp, curthread); + fdrop(fp); if (fdp->fd_knlistsize < 0) fdp->fd_knlistsize = 0; /* this process has a kq */ kq->kq_fdp = fdp; @@ -455,7 +455,7 @@ kevent(struct kevent_args *uap) error = kqueue_scan(fp, uap->nevents, uap->eventlist, uap->timeout, td, &uap->sysmsg_result); done: if (fp != NULL) - fdrop(fp, p->p_thread); + fdrop(fp); return (error); } @@ -585,7 +585,7 @@ kqueue_register(struct kqueue *kq, struct kevent *kev, struct thread *td) done: if (fp != NULL) - fdrop(fp, td); + fdrop(fp); return (error); } @@ -795,7 +795,7 @@ kqueue_close(struct file *fp) kn0 = SLIST_NEXT(kn, kn_link); if (kq == kn->kn_kq) { kn->kn_fop->f_detach(kn); - fdrop(kn->kn_fp, td); + fdrop(kn->kn_fp); knote_free(kn); *knp = kn0; } else { @@ -939,7 +939,7 @@ knote_drop(struct knote *kn, struct thread *td) if (kn->kn_status & KN_QUEUED) knote_dequeue(kn); if (kn->kn_fop->f_isfd) - fdrop(kn->kn_fp, td); + fdrop(kn->kn_fp); knote_free(kn); } diff --git a/sys/kern/kern_fp.c b/sys/kern/kern_fp.c index eeac8ac9ad..139d826028 100644 --- a/sys/kern/kern_fp.c +++ b/sys/kern/kern_fp.c @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/kern/kern_fp.c,v 1.15 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/kern_fp.c,v 1.16 2006/05/06 06:38:38 dillon Exp $ */ /* @@ -115,7 +115,7 @@ fp_open(const char *path, int flags, int mode, file_t *fpp) error = vn_open(&nd, fp, flags, mode); nlookup_done(&nd); if (error) { - fdrop(fp, td); + fdrop(fp); *fpp = NULL; } return(error); @@ -191,7 +191,7 @@ fp_vpopen(struct vnode *vp, int flags, file_t *fpp) bad1: fp->f_ops = &badfileops; /* open failed, don't close */ fp->f_data = NULL; - fdrop(fp, td); + fdrop(fp); /* leave the vnode intact, but fall through and unlock it anyway */ bad2: *fpp = NULL; @@ -588,7 +588,7 @@ done: int fp_close(file_t fp) { - return(fdrop(fp, curthread)); + return(fdrop(fp)); } int diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index bae7677d3c..4d971d92ba 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -37,7 +37,7 @@ * * @(#)sys_generic.c 8.5 (Berkeley) 1/21/94 * $FreeBSD: src/sys/kern/sys_generic.c,v 1.55.2.10 2001/03/17 10:39:32 peter Exp $ - * $DragonFly: src/sys/kern/sys_generic.c,v 1.26 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/sys_generic.c,v 1.27 2006/05/06 06:38:38 dillon Exp $ */ #include "opt_ktrace.h" @@ -234,7 +234,7 @@ kern_preadv(int fd, struct uio *auio, int flags, int *res) } else { error = dofileread(fd, fp, auio, flags, res); } - fdrop(fp, td); + fdrop(fp); return(error); } @@ -421,7 +421,7 @@ kern_pwritev(int fd, struct uio *auio, int flags, int *res) error = dofilewrite(fd, fp, auio, flags, res); } - fdrop(fp, td); + fdrop(fp); return (error); } @@ -625,7 +625,7 @@ mapped_ioctl(int fd, u_long com, caddr_t uspc_data, struct ioctl_map *map) if (error) { if (memp != NULL) free(memp, M_IOCTLOPS); - fdrop(fp, td); + fdrop(fp); return(error); } } else { @@ -678,7 +678,7 @@ mapped_ioctl(int fd, u_long com, caddr_t uspc_data, struct ioctl_map *map) } if (memp != NULL) free(memp, M_IOCTLOPS); - fdrop(fp, td); + fdrop(fp); return(error); } diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index 95facb8897..ef50efbd6f 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -17,7 +17,7 @@ * are met. * * $FreeBSD: src/sys/kern/sys_pipe.c,v 1.60.2.13 2002/08/05 15:05:15 des Exp $ - * $DragonFly: src/sys/kern/sys_pipe.c,v 1.33 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/sys_pipe.c,v 1.34 2006/05/06 06:38:38 dillon Exp $ */ /* @@ -268,9 +268,9 @@ pipe(struct pipe_args *uap) if (error) { if (fdp->fd_files[fd1].fp == rf) { funsetfd(fdp, fd1); - fdrop(rf, td); + fdrop(rf); } - fdrop(rf, td); + fdrop(rf); /* rpipe has been closed by fdrop(). */ pipeclose(wpipe); return (error); @@ -283,8 +283,8 @@ pipe(struct pipe_args *uap) rpipe->pipe_peer = wpipe; wpipe->pipe_peer = rpipe; - fdrop(rf, td); - fdrop(wf, td); + fdrop(rf); + fdrop(wf); return (0); } diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index a58c67352b..74a91831ff 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -35,7 +35,7 @@ * * @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94 * $FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.65.2.17 2003/04/04 17:11:16 tegge Exp $ - * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.64 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.65 2006/05/06 06:38:38 dillon Exp $ */ #include "opt_ktrace.h" @@ -120,7 +120,7 @@ kern_socket(int domain, int type, int protocol, int *res) if (error) { if (fdp->fd_files[fd].fp == fp) { funsetfd(fdp, fd); - fdrop(fp, td); + fdrop(fp); } } else { fp->f_type = DTYPE_SOCKET; @@ -129,7 +129,7 @@ kern_socket(int domain, int type, int protocol, int *res) fp->f_data = so; *res = fd; } - fdrop(fp, td); + fdrop(fp); return (error); } @@ -157,7 +157,7 @@ kern_bind(int s, struct sockaddr *sa) if (error) return (error); error = sobind((struct socket *)fp->f_data, sa, td); - fdrop(fp, td); + fdrop(fp); return (error); } @@ -192,7 +192,7 @@ kern_listen(int s, int backlog) if (error) return (error); error = solisten((struct socket *)fp->f_data, backlog, td); - fdrop(fp, td); + fdrop(fp); return(error); } @@ -274,7 +274,7 @@ kern_accept(int s, struct sockaddr **name, int *namelen, int *res) error = falloc(p, &nfp, &fd); if (error) { /* Probably ran out of file descriptors. */ *res = -1; - fdrop(lfp, td); + fdrop(lfp); return (error); } *res = fd; @@ -353,7 +353,7 @@ done: *res = -1; if (fdp->fd_files[fd].fp == nfp) { funsetfd(fdp, fd); - fdrop(nfp, td); + fdrop(nfp); } } @@ -361,8 +361,8 @@ done: * Release explicitly held references before returning. */ if (nfp) - fdrop(nfp, td); - fdrop(lfp, td); + fdrop(nfp); + fdrop(lfp); return (error); } @@ -463,7 +463,7 @@ bad: if (error == ERESTART) error = EINTR; done: - fdrop(fp, td); + fdrop(fp); return (error); } @@ -527,21 +527,21 @@ kern_socketpair(int domain, int type, int protocol, int *sv) fp1->f_type = fp2->f_type = DTYPE_SOCKET; fp1->f_flag = fp2->f_flag = FREAD|FWRITE; fp1->f_ops = fp2->f_ops = &socketops; - fdrop(fp1, td); - fdrop(fp2, td); + fdrop(fp1); + fdrop(fp2); return (error); free4: if (fdp->fd_files[sv[1]].fp == fp2) { funsetfd(fdp, sv[1]); - fdrop(fp2, td); + fdrop(fp2); } - fdrop(fp2, td); + fdrop(fp2); free3: if (fdp->fd_files[sv[0]].fp == fp1) { funsetfd(fdp, sv[0]); - fdrop(fp1, td); + fdrop(fp1); } - fdrop(fp1, td); + fdrop(fp1); free2: (void)soclose(so2); free1: @@ -617,7 +617,7 @@ kern_sendmsg(int s, struct sockaddr *sa, struct uio *auio, if (error == 0) *res = len - auio->uio_resid; done: - fdrop(fp, td); + fdrop(fp); return (error); } @@ -786,7 +786,7 @@ kern_recvmsg(int s, struct sockaddr **sa, struct uio *auio, if (error == 0) *res = len - auio->uio_resid; done: - fdrop(fp, td); + fdrop(fp); return (error); } @@ -975,7 +975,7 @@ kern_setsockopt(int s, struct sockopt *sopt) return (error); error = sosetopt((struct socket *)fp->f_data, sopt); - fdrop(fp, td); + fdrop(fp); return (error); } @@ -1022,7 +1022,7 @@ kern_getsockopt(int s, struct sockopt *sopt) return (error); error = sogetopt((struct socket *)fp->f_data, sopt); - fdrop(fp, td); + fdrop(fp); return (error); } @@ -1080,7 +1080,7 @@ kern_getsockname(int s, struct sockaddr **name, int *namelen) if (error) return (error); if (*namelen < 0) { - fdrop(fp, td); + fdrop(fp); return (EINVAL); } so = (struct socket *)fp->f_data; @@ -1094,7 +1094,7 @@ kern_getsockname(int s, struct sockaddr **name, int *namelen) } } - fdrop(fp, td); + fdrop(fp); return (error); } @@ -1144,12 +1144,12 @@ kern_getpeername(int s, struct sockaddr **name, int *namelen) if (error) return (error); if (*namelen < 0) { - fdrop(fp, td); + fdrop(fp); return (EINVAL); } so = (struct socket *)fp->f_data; if ((so->so_state & (SS_ISCONNECTED|SS_ISCONFIRMING)) == 0) { - fdrop(fp, td); + fdrop(fp); return (ENOTCONN); } error = so_pru_peeraddr(so, &sa); @@ -1162,7 +1162,7 @@ kern_getpeername(int s, struct sockaddr **name, int *namelen) } } - fdrop(fp, td); + fdrop(fp); return (error); } @@ -1353,12 +1353,12 @@ sendfile(struct sendfile_args *uap) return (EBADF); } if (fp->f_type != DTYPE_VNODE) { - fdrop(fp, td); + fdrop(fp); return (EINVAL); } vp = (struct vnode *)fp->f_data; vref(vp); - fdrop(fp, td); + fdrop(fp); /* * If specified, get the pointer to the sf_hdtr struct for @@ -1710,7 +1710,7 @@ retry_space: sbunlock(&so->so_snd); done: - fdrop(fp, td); + fdrop(fp); done0: if (mheader != NULL) m_freem(mheader); @@ -1792,7 +1792,7 @@ noconnection: if (error) { if (fdp->fd_files[fd].fp == nfp) { funsetfd(fdp, fd); - fdrop(nfp, td); + fdrop(nfp); } } crit_exit(); @@ -1801,8 +1801,8 @@ noconnection: */ done: if (nfp != NULL) - fdrop(nfp, td); - fdrop(lfp, td); + fdrop(nfp); + fdrop(lfp); return (error); #else /* SCTP */ return(EOPNOTSUPP); diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c index 5ee0b85280..eac3c0191e 100644 --- a/sys/kern/vfs_aio.c +++ b/sys/kern/vfs_aio.c @@ -14,7 +14,7 @@ * of the author. This software is distributed AS-IS. * * $FreeBSD: src/sys/kern/vfs_aio.c,v 1.70.2.28 2003/05/29 06:15:35 alc Exp $ - * $DragonFly: src/sys/kern/vfs_aio.c,v 1.26 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/vfs_aio.c,v 1.27 2006/05/06 06:38:38 dillon Exp $ */ /* @@ -386,7 +386,7 @@ aio_free_entry(struct aiocblist *aiocbe) } aiocbe->jobstate = JOBST_NULL; callout_stop(&aiocbe->timeout); - fdrop(aiocbe->fd_file, curthread); + fdrop(aiocbe->fd_file); TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list); return 0; } @@ -1214,7 +1214,7 @@ _aio_aqueue(struct aiocb *job, struct aio_liojob *lj, int type) jobrefid++; if (opcode == LIO_NOP) { - fdrop(fp, p->p_thread); + fdrop(fp); TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list); if (type == 0) { suword(&job->_aiocb_private.error, 0); @@ -1264,7 +1264,7 @@ _aio_aqueue(struct aiocb *job, struct aio_liojob *lj, int type) error = kqueue_register(kq, &kev, p->p_thread); aqueue_fail: if (error) { - fdrop(fp, p->p_thread); + fdrop(fp); TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list); if (type == 0) suword(&job->_aiocb_private.error, error); diff --git a/sys/kern/vfs_jops.c b/sys/kern/vfs_jops.c index 420331b933..7d26f2bfd6 100644 --- a/sys/kern/vfs_jops.c +++ b/sys/kern/vfs_jops.c @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/kern/vfs_jops.c,v 1.24 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/vfs_jops.c,v 1.25 2006/05/06 06:38:38 dillon Exp $ */ /* * Each mount point may have zero or more independantly configured journals @@ -432,7 +432,7 @@ journal_restart(struct mount *mp, struct file *fp, journal_destroy_threads(jo, flags); if (jo->fp) - fdrop(jo->fp, curthread); + fdrop(jo->fp); /* * Associate the new descriptor, reset the FIFO index, and recreate @@ -497,7 +497,7 @@ journal_destroy(struct mount *mp, struct journal *jo, int flags) journal_destroy_threads(jo, flags); if (jo->fp) - fdrop(jo->fp, curthread); + fdrop(jo->fp); if (jo->fifo.membase) free(jo->fifo.membase, M_JFIFO); free(jo, M_JOURNAL); diff --git a/sys/kern/vfs_journal.c b/sys/kern/vfs_journal.c index 5ffe0ebd06..fd80b76e1f 100644 --- a/sys/kern/vfs_journal.c +++ b/sys/kern/vfs_journal.c @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/kern/vfs_journal.c,v 1.24 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/vfs_journal.c,v 1.25 2006/05/06 06:38:38 dillon Exp $ */ /* * Each mount point may have zero or more independantly configured journals @@ -432,7 +432,7 @@ journal_restart(struct mount *mp, struct file *fp, journal_destroy_threads(jo, flags); if (jo->fp) - fdrop(jo->fp, curthread); + fdrop(jo->fp); /* * Associate the new descriptor, reset the FIFO index, and recreate @@ -497,7 +497,7 @@ journal_destroy(struct mount *mp, struct journal *jo, int flags) journal_destroy_threads(jo, flags); if (jo->fp) - fdrop(jo->fp, curthread); + fdrop(jo->fp); if (jo->fifo.membase) free(jo->fifo.membase, M_JFIFO); free(jo, M_JOURNAL); diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 553a41f5c9..a2130d20a0 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -37,7 +37,7 @@ * * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 * $FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.151.2.18 2003/04/04 20:35:58 tegge Exp $ - * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.86 2006/05/06 02:43:12 dillon Exp $ + * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.87 2006/05/06 06:38:38 dillon Exp $ */ #include @@ -757,7 +757,7 @@ mountctl(struct mountctl_args *uap) */ error = kern_mountctl(path, uap->op, fp, ctl, uap->ctllen, buf, uap->buflen, &uap->sysmsg_result); if (fp) - fdrop(fp, td); + fdrop(fp); if (error == 0 && uap->sysmsg_result > 0) error = copyout(buf, uap->buf, uap->sysmsg_result); done: @@ -1318,16 +1318,16 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res) error = dupfdopen(fdp, indx, lp->lwp_dupfd, flags, error); if (error == 0) { *res = indx; - fdrop(fp, td); /* our ref */ + fdrop(fp); /* our ref */ return (0); } if (fdp->fd_files[indx].fp == fp) { funsetfd(fdp, indx); - fdrop(fp, td); /* fd_files[] ref */ + fdrop(fp); /* fd_files[] ref */ } } } - fdrop(fp, td); /* our ref */ + fdrop(fp); /* our ref */ if (error == ERESTART) error = EINTR; return (error); @@ -1341,7 +1341,7 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res) vp = (struct vnode *)fp->f_data; vref(vp); if ((error = fsetfd(p, fp, &indx)) != 0) { - fdrop(fp, td); + fdrop(fp); vrele(vp); return (error); } @@ -1365,7 +1365,7 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res) ("Open file descriptor lost all refs")); vrele(vp); fo_close(fp); - fdrop(fp, td); + fdrop(fp); *res = indx; return 0; } @@ -1392,9 +1392,9 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res) vrele(vp); if (fdp->fd_files[indx].fp == fp) { funsetfd(fdp, indx); - fdrop(fp, td); + fdrop(fp); } - fdrop(fp, td); + fdrop(fp); return (error); } fp->f_flag |= FHASLOCK; @@ -1414,7 +1414,7 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res) * release our private reference, leaving the one associated with the * descriptor table intact. */ - fdrop(fp, td); + fdrop(fp); *res = indx; return (0); } @@ -3197,7 +3197,7 @@ fhopen(struct fhopen_args *uap) */ fp->f_ops = &badfileops; fp->f_data = NULL; - fdrop(fp, td); + fdrop(fp); goto bad; } @@ -3208,7 +3208,7 @@ fhopen(struct fhopen_args *uap) */ if (vp->v_type == VREG && vp->v_object == NULL) { printf("fhopen: regular file did not have VM object: %p\n", vp); - fdrop(fp, td); + fdrop(fp); goto bad; } @@ -3216,7 +3216,7 @@ fhopen(struct fhopen_args *uap) * The open was successful, associate it with a file descriptor. */ if ((error = fsetfd(p, fp, &indx)) != 0) { - fdrop(fp, td); + fdrop(fp); goto bad; } @@ -3240,13 +3240,13 @@ fhopen(struct fhopen_args *uap) */ if (fdp->fd_files[indx].fp == fp) { funsetfd(fdp, indx); - fdrop(fp, td); + fdrop(fp); } /* * release our private reference. */ - fdrop(fp, td); + fdrop(fp); vrele(vp); return (error); } @@ -3255,7 +3255,7 @@ fhopen(struct fhopen_args *uap) } vput(vp); - fdrop(fp, td); + fdrop(fp); uap->sysmsg_result = indx; return (0); diff --git a/sys/opencrypto/cryptodev.c b/sys/opencrypto/cryptodev.c index 7f7280bed2..d4b027f8a9 100644 --- a/sys/opencrypto/cryptodev.c +++ b/sys/opencrypto/cryptodev.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/opencrypto/cryptodev.c,v 1.4.2.4 2003/06/03 00:09:02 sam Exp $ */ -/* $DragonFly: src/sys/opencrypto/cryptodev.c,v 1.13 2006/05/06 02:43:13 dillon Exp $ */ +/* $DragonFly: src/sys/opencrypto/cryptodev.c,v 1.14 2006/05/06 06:38:38 dillon Exp $ */ /* $OpenBSD: cryptodev.c,v 1.52 2002/06/19 07:22:46 deraadt Exp $ */ /* @@ -721,7 +721,7 @@ cryptoioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td) f->f_ops = &cryptofops; f->f_data = fcr; *(u_int32_t *)data = fd; - fdrop(f, td); + fdrop(f); break; default: error = EINVAL; diff --git a/sys/sys/file.h b/sys/sys/file.h index d2e4033e22..bd0ae199b3 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -32,7 +32,7 @@ * * @(#)file.h 8.3 (Berkeley) 1/9/95 * $FreeBSD: src/sys/sys/file.h,v 1.22.2.7 2002/11/21 23:39:24 sam Exp $ - * $DragonFly: src/sys/sys/file.h,v 1.16 2006/05/06 02:43:13 dillon Exp $ + * $DragonFly: src/sys/sys/file.h,v 1.17 2006/05/06 06:38:39 dillon Exp $ */ #ifndef _SYS_FILE_H_ @@ -120,8 +120,7 @@ LIST_HEAD(filelist, file); MALLOC_DECLARE(M_FILE); #endif -extern int fdrop (struct file *fp, struct thread *td); - +extern int fdrop (struct file *fp); extern int fp_open(const char *path, int flags, int mode, struct file **fpp); extern int fp_vpopen(struct vnode *vp, int flags, struct file **fpp); extern int fp_pread(struct file *fp, void *buf, size_t nbytes, off_t offset, ssize_t *res); diff --git a/sys/sys/file2.h b/sys/sys/file2.h index f7c6f4f5c2..3849aba303 100644 --- a/sys/sys/file2.h +++ b/sys/sys/file2.h @@ -32,7 +32,7 @@ * * @(#)file.h 8.3 (Berkeley) 1/9/95 * $FreeBSD: src/sys/sys/file.h,v 1.22.2.7 2002/11/21 23:39:24 sam Exp $ - * $DragonFly: src/sys/sys/file2.h,v 1.4 2006/05/06 02:43:13 dillon Exp $ + * $DragonFly: src/sys/sys/file2.h,v 1.5 2006/05/06 06:38:39 dillon Exp $ */ #ifndef _SYS_FILE2_H_ @@ -57,7 +57,7 @@ fo_read( fhold(fp); error = (*fp->f_ops->fold_read)(fp, uio, cred, flags); - fdrop(fp, curthread); + fdrop(fp); return (error); } @@ -72,7 +72,7 @@ fo_write( fhold(fp); error = (*fp->f_ops->fold_write)(fp, uio, cred, flags); - fdrop(fp, curthread); + fdrop(fp); return (error); } @@ -87,7 +87,7 @@ fo_ioctl( fhold(fp); error = (*fp->f_ops->fold_ioctl)(fp, com, data, cred); - fdrop(fp, curthread); + fdrop(fp); return (error); } @@ -101,7 +101,7 @@ fo_poll( fhold(fp); error = (*fp->f_ops->fold_poll)(fp, events, cred); - fdrop(fp, curthread); + fdrop(fp); return (error); } @@ -112,7 +112,7 @@ fo_stat(struct file *fp, struct stat *sb, struct ucred *cred) fhold(fp); error = (*fp->f_ops->fold_stat)(fp, sb, cred); - fdrop(fp, curthread); + fdrop(fp); return (error); } diff --git a/sys/vfs/nfs/nfs_syscalls.c b/sys/vfs/nfs/nfs_syscalls.c index cb2ae42970..8ded24529d 100644 --- a/sys/vfs/nfs/nfs_syscalls.c +++ b/sys/vfs/nfs/nfs_syscalls.c @@ -35,7 +35,7 @@ * * @(#)nfs_syscalls.c 8.5 (Berkeley) 3/30/95 * $FreeBSD: src/sys/nfs/nfs_syscalls.c,v 1.58.2.1 2000/11/26 02:30:06 dillon Exp $ - * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.23 2006/03/27 16:18:39 dillon Exp $ + * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.24 2006/05/06 06:38:39 dillon Exp $ */ #include @@ -209,12 +209,12 @@ nfssvc(struct nfssvc_args *uap) error = getsockaddr(&nam, nfsdarg.name, nfsdarg.namelen); if (error) { - fdrop(fp, td); + fdrop(fp); return (error); } } error = nfssvc_addsock(fp, nam, td); - fdrop(fp, td); + fdrop(fp); } else { error = copyin(uap->argp, (caddr_t)nsd, sizeof (*nsd)); if (error) diff --git a/sys/vfs/portal/portal_vfsops.c b/sys/vfs/portal/portal_vfsops.c index cfcc54acaa..575b091c87 100644 --- a/sys/vfs/portal/portal_vfsops.c +++ b/sys/vfs/portal/portal_vfsops.c @@ -36,7 +36,7 @@ * @(#)portal_vfsops.c 8.11 (Berkeley) 5/14/95 * * $FreeBSD: src/sys/miscfs/portal/portal_vfsops.c,v 1.26.2.2 2001/07/26 20:37:16 iedowse Exp $ - * $DragonFly: src/sys/vfs/portal/portal_vfsops.c,v 1.18 2006/05/05 21:15:10 dillon Exp $ + * $DragonFly: src/sys/vfs/portal/portal_vfsops.c,v 1.19 2006/05/06 06:38:39 dillon Exp $ */ /* @@ -101,7 +101,7 @@ portal_mount(struct mount *mp, char *path, caddr_t data, struct thread *td) return (error); so = (struct socket *) fp->f_data; if (so->so_proto->pr_domain->dom_family != AF_UNIX) { - fdrop(fp, td); + fdrop(fp); return (ESOCKTNOSUPPORT); } @@ -119,7 +119,7 @@ portal_mount(struct mount *mp, char *path, caddr_t data, struct thread *td) if (error) { FREE(fmp, M_PORTALFSMNT); FREE(pn, M_TEMP); - fdrop(fp, td); + fdrop(fp); return (error); } @@ -147,7 +147,7 @@ portal_mount(struct mount *mp, char *path, caddr_t data, struct thread *td) vx_unlock(rvp); (void)portal_statfs(mp, &mp->mnt_stat, td); - fdrop(fp, td); + fdrop(fp); return (0); } diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 97e221e2a2..25428e706b 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -39,7 +39,7 @@ * * @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94 * $FreeBSD: src/sys/vm/vm_mmap.c,v 1.108.2.6 2002/07/02 20:06:19 dillon Exp $ - * $DragonFly: src/sys/vm/vm_mmap.c,v 1.26 2006/05/06 02:43:15 dillon Exp $ + * $DragonFly: src/sys/vm/vm_mmap.c,v 1.27 2006/05/06 06:38:39 dillon Exp $ */ /* @@ -373,7 +373,7 @@ kern_mmap(caddr_t uaddr, size_t ulen, int uprot, int uflags, int fd, *res = (void *)(addr + pageoff); done: if (fp) - fdrop(fp, td); + fdrop(fp); return (error); } -- 2.41.0