Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jul 2014 23:23:02 +0000 (UTC)
From:      Mateusz Guzik <mjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r268345 - in stable/10/sys: kern sys
Message-ID:  <201407062323.s66NN2JX087250@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407062323.s66NN2JX087250>