svn commit: r268345 - in stable/10/sys: kern sys

Mateusz Guzik mjg at FreeBSD.org
Sun Jul 6 23:23:03 UTC 2014


Author: mjg
Date: Sun Jul  6 23:23:01 2014
New Revision: 268345
URL: http://svnweb.freebsd.org/changeset/base/268345

Log:
  MFC r268001:
  Make fdunshare accept only td parameter.
  
  Proc had to match the thread anyway and 2 parameters were inconsistent
  with the rest.

Modified:
  stable/10/sys/kern/kern_descrip.c
  stable/10/sys/kern/kern_exec.c
  stable/10/sys/kern/kern_fork.c
  stable/10/sys/sys/filedesc.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/kern/kern_descrip.c
==============================================================================
--- stable/10/sys/kern/kern_descrip.c	Sun Jul  6 23:20:48 2014	(r268344)
+++ stable/10/sys/kern/kern_descrip.c	Sun Jul  6 23:23:01 2014	(r268345)
@@ -1883,9 +1883,10 @@ fdshare(struct filedesc *fdp)
  * Unshare a filedesc structure, if necessary by making a copy
  */
 void
-fdunshare(struct proc *p, struct thread *td)
+fdunshare(struct thread *td)
 {
 	struct filedesc *tmp;
+	struct proc *p = td->td_proc;
 
 	if (p->p_fd->fd_refcnt == 1)
 		return;

Modified: stable/10/sys/kern/kern_exec.c
==============================================================================
--- stable/10/sys/kern/kern_exec.c	Sun Jul  6 23:20:48 2014	(r268344)
+++ stable/10/sys/kern/kern_exec.c	Sun Jul  6 23:23:01 2014	(r268345)
@@ -597,7 +597,7 @@ interpret:
 	 * For security and other reasons, the file descriptor table cannot
 	 * be shared after an exec.
 	 */
-	fdunshare(p, td);
+	fdunshare(td);
 
 	/*
 	 * Malloc things before we need locks.

Modified: stable/10/sys/kern/kern_fork.c
==============================================================================
--- stable/10/sys/kern/kern_fork.c	Sun Jul  6 23:20:48 2014	(r268344)
+++ stable/10/sys/kern/kern_fork.c	Sun Jul  6 23:23:01 2014	(r268345)
@@ -347,8 +347,8 @@ fork_norfproc(struct thread *td, int fla
 	/*
 	 * Unshare file descriptors (from parent).
 	 */
-	if (flags & RFFDG) 
-		fdunshare(p1, td);
+	if (flags & RFFDG)
+		fdunshare(td);
 
 fail:
 	if (((p1->p_flag & (P_HADTHREADS|P_SYSTEM)) == P_HADTHREADS) &&

Modified: stable/10/sys/sys/filedesc.h
==============================================================================
--- stable/10/sys/sys/filedesc.h	Sun Jul  6 23:20:48 2014	(r268344)
+++ stable/10/sys/sys/filedesc.h	Sun Jul  6 23:23:01 2014	(r268345)
@@ -153,7 +153,7 @@ int	fdcheckstd(struct thread *td);
 void	fdclose(struct filedesc *fdp, struct file *fp, int idx, struct thread *td);
 void	fdcloseexec(struct thread *td);
 struct	filedesc *fdcopy(struct filedesc *fdp);
-void	fdunshare(struct proc *p, struct thread *td);
+void	fdunshare(struct thread *td);
 void	fdescfree(struct thread *td);
 struct	filedesc *fdinit(struct filedesc *fdp);
 struct	filedesc *fdshare(struct filedesc *fdp);


More information about the svn-src-all mailing list