Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Mar 2002 23:30:17 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 7917 for review
Message-ID:  <200203190730.g2J7UH249744@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=7917

Change 7917 by peter@peter_overcee on 2002/03/18 23:29:17

	IFC

Affected files ...

... //depot/projects/ia64/Makefile.upgrade#2 integrate
... //depot/projects/ia64/etc/rc.network#11 integrate
... //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml#4 integrate
... //depot/projects/ia64/share/mk/bsd.dep.mk#3 integrate
... //depot/projects/ia64/share/mk/bsd.info.mk#2 integrate
... //depot/projects/ia64/sys/conf/kern.post.mk#5 integrate
... //depot/projects/ia64/sys/dev/md/md.c#6 integrate
... //depot/projects/ia64/sys/dev/txp/if_txp.c#3 integrate
... //depot/projects/ia64/sys/i386/i386/perfmon.c#3 integrate
... //depot/projects/ia64/sys/i386/linux/linux_sysvec.c#4 integrate
... //depot/projects/ia64/sys/kern/kern_descrip.c#7 integrate
... //depot/projects/ia64/sys/kern/vfs_bio.c#9 integrate
... //depot/projects/ia64/sys/kern/vfs_syscalls.c#5 integrate
... //depot/projects/ia64/sys/ufs/ffs/ffs_snapshot.c#6 integrate
... //depot/projects/ia64/usr.bin/uudecode/uudecode.c#5 integrate

Differences ...

==== //depot/projects/ia64/Makefile.upgrade#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.upgrade,v 1.17 1999/08/28 01:35:58 peter Exp $
+# $FreeBSD: src/Makefile.upgrade,v 1.18 2002/03/19 05:58:36 bde Exp $
 #
 # This makefile contains rules for preforming upgrades that are outside
 # the scope of the normal build world process.
@@ -57,7 +57,7 @@
 # front-load all the information we're going to need.
 /var/db/update.cfg:
 	@if [ -f ${.CURDIR}/tools/tools/upgrade/doupgrade.sh ]; then \
-	    env MACHINE=${MACHINE} CURDIR=${.CURDIR} sh ${.CURDIR}/tools/tools/upgrade/doupgrade.sh 1 /var/db/update.cfg; \
+	    MACHINE=${MACHINE} CURDIR=${.CURDIR} sh ${.CURDIR}/tools/tools/upgrade/doupgrade.sh 1 /var/db/update.cfg; \
 	else \
 	    echo "Your source tree must not be fully populated; unable to find upgrade script"; echo "in ${.CURDIR}/tools/tools/upgrade/doupgrade.sh."; exit 1; \
 	fi
@@ -187,7 +187,7 @@
 #
 ${MAKEOBJDIRPREFIX}/do_elf_kernel :
 	@if [ -f /var/db/update.cfg -a -f ${.CURDIR}/tools/tools/upgrade/doupgrade.sh ]; then \
-	     env MACHINE=${MACHINE} CURDIR=${.CURDIR} sh ${.CURDIR}/tools/tools/upgrade/doupgrade.sh 2 /var/db/update.cfg; \
+	     MACHINE=${MACHINE} CURDIR=${.CURDIR} sh ${.CURDIR}/tools/tools/upgrade/doupgrade.sh 2 /var/db/update.cfg; \
 	fi
 	@touch ${MAKEOBJDIRPREFIX}/do_elf_kernel
 	@rm -f /var/db/update.cfg

==== //depot/projects/ia64/etc/rc.network#11 (text+ko) ====

@@ -24,7 +24,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.network,v 1.129 2002/03/17 07:35:51 dougb Exp $
+# $FreeBSD: src/etc/rc.network,v 1.131 2002/03/19 03:45:02 des Exp $
 #	From: @(#)netstart	5.9 (Berkeley) 3/30/91
 #
 
@@ -85,6 +85,7 @@
 			else
 				echo 'Warning: IP-filter module failed to load.'
 				# avoid further errors
+				ipfilter_active="NO"
 				ipmon_enable="NO"
 				ipfilter_enable="NO"
 				ipnat_enable="NO"
@@ -298,11 +299,12 @@
 
 	# Re-Sync ipfilter so it picks up any new network interfaces
 	#
-	case ${ipfilter_enable} in
+	case ${ipfilter_active} in
 	[Yy][Ee][Ss])
 		${ipfilter_program:-/sbin/ipf} -y ${ipfilter_flags} >/dev/null
 		;;
 	esac
+	unset ipfilter_active
 
 	# Initialize IP filtering using ipfw
 	#
@@ -845,13 +847,17 @@
 
 	case ${sshd_enable} in
 	[Yy][Ee][Ss])
-		if [ ! -f /etc/ssh/ssh_host_key ]; then
-			echo ' creating ssh RSA host key';
-			/usr/bin/ssh-keygen -N "" -f /etc/ssh/ssh_host_key
-		fi
-		if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
-			echo ' creating ssh DSA host key';
-			/usr/bin/ssh-keygen -d -N "" -f /etc/ssh/ssh_host_dsa_key
+		if [ -x /usr/bin/ssh-keygen ]; then
+			if [ ! -f /etc/ssh/ssh_host_key ]; then
+				echo ' creating ssh RSA host key';
+				/usr/bin/ssh-keygen -trsa1 -N "" \
+					-f /etc/ssh/ssh_host_key
+			fi
+			if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
+				echo ' creating ssh DSA host key';
+				/usr/bin/ssh-keygen -tdsa -N "" \
+					-f /etc/ssh/ssh_host_dsa_key
+			fi
 		fi
 		;;
 	esac

==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml#4 (text+ko) ====

@@ -1,13 +1,13 @@
 <articleinfo>
 <!--
-  $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/relnotes/common/new.sgml,v 1.8 2002/03/18 19:40:38 ue Exp $
-  basiert auf: 1.300
+  $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/relnotes/common/new.sgml,v 1.9 2002/03/19 05:27:04 ue Exp $
+  basiert auf: 1.303
 -->
   <title>&os;/&arch; &release.current; Release Notes</title>
 
   <corpauthor>The FreeBSD Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml,v 1.3 2002/03/18 19:41:51 ue Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml,v 1.4 2002/03/19 05:26:14 ue Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -1839,6 +1839,17 @@
       url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:13.openssh.asc">FreeBSD-SA-02:13</ulink>).
       &merged;</para>
 
+    <para>Durch einen Fehler in <application>zlib</application> war es
+      m&ouml;glich, da&szlig; Speicher doppelt freigegeben wurde.  Die
+      &man.malloc.3;/&man.free.3; Routinen von &os; sind von diesem
+      Fehler nicht betroffen, einzelne Anwendungen k&ouml;nnten aber
+      durch entsprechend konstruierte Pakete mit komprimierten Daten
+      beeintr&auml;chtigt oder zum Absturz gebracht werden.  Der
+      Fehler in <application>zlib</application> wurde mittlerweile
+      beseitigt.  Informationen, wie Sie dieses Problem umgehen bzw.
+      beseitigen k&ouml;nnen, finden Sie in <ulink
+      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:18.zlib.asc">FreeBSD-SA-02:18</ulink>.
+      &merged;</para>
   </sect2>
 
   <sect2 id="userland">

==== //depot/projects/ia64/share/mk/bsd.dep.mk#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/mk/bsd.dep.mk,v 1.28 2002/03/15 18:43:59 obrien Exp $
+# $FreeBSD: src/share/mk/bsd.dep.mk,v 1.29 2002/03/19 06:11:43 bde Exp $
 #
 # The include file <bsd.dep.mk> handles Makefile dependencies.
 #
@@ -28,7 +28,7 @@
 #		If HTML is defined, htags is also run after gtags.
 
 
-MKDEPCMD?=	env CC=${CC} mkdep
+MKDEPCMD?=	CC=${CC} mkdep
 DEPENDFILE?=	.depend
 
 .if defined(SRCS)

==== //depot/projects/ia64/share/mk/bsd.info.mk#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/mk/bsd.info.mk,v 1.59 2001/03/27 08:43:28 ru Exp $
+# $FreeBSD: src/share/mk/bsd.info.mk,v 1.60 2002/03/19 06:11:43 bde Exp $
 #
 # The include file <bsd.info.mk> handles installing GNU (tech)info files.
 # Texinfo is a documentation system that uses a single source
@@ -109,18 +109,18 @@
 		-o ${.TARGET}
 
 .texi.dvi .texinfo.dvi:
-	env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
+	TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
 		${TEX} ${.IMPSRC} </dev/null
 # Run again to reolve cross references.
-	env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
+	TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
 		${TEX} ${.IMPSRC} </dev/null
 
 .texinfo.latin1 .texi.latin1:
 	perl -npe 's/(^\s*\\input\s+texinfo\s+)/$$1\n@tex\n\\global\\hsize=120mm\n@end tex\n\n/' ${.IMPSRC} >> ${.IMPSRC:T:R}-la.texi
-	env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
+	TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
 		${TEX} ${.IMPSRC:T:R}-la.texi </dev/null
 # Run again to reolve cross references.
-	env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
+	TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \
 		${TEX} ${.IMPSRC:T:R}-la.texi </dev/null
 	${DVIPS} -o /dev/stdout ${.IMPSRC:T:R}-la.dvi | \
 		${DVIPS2ASCII} > ${.TARGET}.new

==== //depot/projects/ia64/sys/conf/kern.post.mk#5 (text+ko) ====

@@ -8,7 +8,7 @@
 # should be defined in the kern.pre.mk so that port makefiles can
 # override or augment them.
 #
-# $FreeBSD: src/sys/conf/kern.post.mk,v 1.12 2002/03/18 09:35:45 ru Exp $
+# $FreeBSD: src/sys/conf/kern.post.mk,v 1.13 2002/03/19 06:30:24 bde Exp $
 #
 
 .PHONY:	all modules
@@ -98,10 +98,12 @@
 	    ${SYSTEM_SFILES} ${MFILES:T:S/.m$/.h/}
 	if [ -f .olddep ]; then mv .olddep .depend; fi
 	rm -f .newdep
-	${MAKE} -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | xargs \
-	    env MKDEP_CPP="${CC} -E" CC="${CC}" mkdep -a -f .newdep ${CFLAGS}
-	${MAKE} -V SFILES -V SYSTEM_SFILES | xargs \
-	    env MKDEP_CPP="${CC} -E" mkdep -a -f .newdep ${ASM_CFLAGS}
+	MKDEP_CPP="${CC} -E" CC="${CC}" \
+	    ${MAKE} -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | xargs \
+	    mkdep -a -f .newdep ${CFLAGS}
+	MKDEP_CPP="${CC} -E" \
+	    ${MAKE} -V SFILES -V SYSTEM_SFILES | xargs \
+	    mkdep -a -f .newdep ${ASM_CFLAGS}
 	rm -f .depend
 	mv .newdep .depend
 
@@ -178,34 +180,34 @@
 
 modules:
 	@mkdir -p ${.OBJDIR}/modules
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} obj ; \
-	    env ${MKMODULESENV} ${MAKE} all
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} obj ; \
+	    ${MKMODULESENV} ${MAKE} all
 
 modules-depend:
 	@mkdir -p ${.OBJDIR}/modules
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} obj ; \
-	    env ${MKMODULESENV} ${MAKE} depend
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} obj ; \
+	    ${MKMODULESENV} ${MAKE} depend
 
 modules-clean:
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} clean
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} clean
 
 modules-cleandepend:
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} cleandepend
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} cleandepend
 
 modules-clobber:	modules-clean
 	rm -rf ${MKMODULESENV}
 
 modules-cleandir:
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} cleandir
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} cleandir
 
 modules-tags:
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} tags
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} tags
 
 modules-install modules-reinstall:
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} install
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} install
 
 modules-install.debug modules-reinstall.debug:
-	cd $S/modules ; env ${MKMODULESENV} ${MAKE} install.debug
+	cd $S/modules ; ${MKMODULESENV} ${MAKE} install.debug
 
 config.o:
 	${NORMAL_C}

==== //depot/projects/ia64/sys/dev/md/md.c#6 (text+ko) ====

@@ -6,7 +6,7 @@
  * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
  * ----------------------------------------------------------------------------
  *
- * $FreeBSD: src/sys/dev/md/md.c,v 1.55 2002/03/19 01:45:04 gallatin Exp $
+ * $FreeBSD: src/sys/dev/md/md.c,v 1.56 2002/03/19 04:07:29 bde Exp $
  *
  */
 
@@ -384,9 +384,9 @@
 
 	if (md_debug > 1)
 		printf("mdstrategy(%p) %s %x, %lld, %ld, %p)\n",
-		    bp, devtoname(bp->bio_dev), bp->bio_flags, 
-		    (long long)bp->bio_blkno,
-		    bp->bio_bcount / DEV_BSIZE, bp->bio_data);
+		    (void *)bp, devtoname(bp->bio_dev), bp->bio_flags,
+		    (long long)bp->bio_blkno, bp->bio_bcount / DEV_BSIZE,
+		    (void *)bp->bio_data);
 
 	sc = bp->bio_dev->si_drv1;
 

==== //depot/projects/ia64/sys/dev/txp/if_txp.c#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*	$OpenBSD: if_txp.c,v 1.48 2001/06/27 06:34:50 kjc Exp $	*/
-/*	$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.8 2001/12/03 17:28:27 brooks Exp $ */
+/*	$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.9 2002/03/19 05:14:23 jeff Exp $ */
 
 /*
  * Copyright (c) 2001
@@ -88,7 +88,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-  "$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.8 2001/12/03 17:28:27 brooks Exp $";
+  "$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.9 2002/03/19 05:14:23 jeff Exp $";
 #endif
 
 /*
@@ -486,6 +486,7 @@
 	u_int32_t r;
 	int i;
 
+	r = 0;
 	WRITE_REG(sc, TXP_SRR, TXP_SRR_ALL);
 	DELAY(1000);
 	WRITE_REG(sc, TXP_SRR, 0);
@@ -515,6 +516,7 @@
 	int sect;
 	u_int32_t r, i, ier, imr;
 
+	r = 0;
 	ier = READ_REG(sc, TXP_IER);
 	WRITE_REG(sc, TXP_IER, ier | TXP_INT_A2H_0);
 
@@ -586,6 +588,7 @@
 {
 	u_int32_t i, r;
 
+	r = 0;
 	for (i = 0; i < 10000; i++) {
 		r = READ_REG(sc, TXP_ISR);
 		if (r & TXP_INT_A2H_0)
@@ -960,6 +963,7 @@
 	u_int32_t r;
 	int i;
 
+	r = 0;
 	ld = sc->sc_ldata;
 	boot = &ld->txp_boot;
 

==== //depot/projects/ia64/sys/i386/i386/perfmon.c#3 (text+ko) ====

@@ -26,13 +26,14 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/i386/i386/perfmon.c,v 1.26 2001/12/18 00:27:15 jhb Exp $
+ * $FreeBSD: src/sys/i386/i386/perfmon.c,v 1.28 2002/03/19 06:45:25 alc Exp $
  */
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/conf.h>
 #include <sys/fcntl.h>
+#include <sys/kernel.h>
 
 #ifndef SMP
 #include <machine/cputypes.h>
@@ -58,6 +59,16 @@
 static d_open_t	perfmon_open;
 static d_ioctl_t perfmon_ioctl;
 
+/*
+ * XXX perfmon_init_dev(void *) is a split from the perfmon_init() funtion. 
+ * This solves a problem for DEVFS users.  It loads the "perfmon" driver after
+ * the DEVFS subsystem has been kicked into action.  The SI_ORDER_ANY is to
+ * assure that it is the most lowest priority task which, guarantees the
+ * above.
+ */
+static void perfmon_init_dev __P((void *));
+SYSINIT(cpu, SI_SUB_DRIVERS, SI_ORDER_ANY, perfmon_init_dev, NULL);
+
 #define CDEV_MAJOR 2	/* We're really a minor of mem.c */
 static struct cdevsw perfmon_cdevsw = {
 	/* open */      perfmon_open,
@@ -105,6 +116,12 @@
 		break;
 	}
 #endif /* SMP */
+}
+
+static void
+perfmon_init_dev(dummy)
+	void *dummy;
+{
 	make_dev(&perfmon_cdevsw, 32, UID_ROOT, GID_KMEM, 0640, "perfmon");
 }
 

==== //depot/projects/ia64/sys/i386/linux/linux_sysvec.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/i386/linux/linux_sysvec.c,v 1.95 2002/02/07 20:58:44 julian Exp $
+ * $FreeBSD: src/sys/i386/linux/linux_sysvec.c,v 1.96 2002/03/19 04:54:30 alc Exp $
  */
 
 /* XXX we use functions that might not exist. */
@@ -285,32 +285,6 @@
 	PROC_UNLOCK(p);
 
 	/*
-	 * grow() will return FALSE if the fp will not fit inside the stack
-	 *	and the stack can not be grown. useracc will return FALSE
-	 *	if access is denied.
-	 */
-	if ((grow_stack (p, (int)fp) == FALSE) ||
-	    !useracc((caddr_t)fp, sizeof (struct l_rt_sigframe), 
-	    VM_PROT_WRITE)) {
-		/*
-		 * Process has trashed its stack; give it an illegal
-		 * instruction to halt it in its tracks.
-		 */
-		PROC_LOCK(p);
-		SIGACTION(p, SIGILL) = SIG_DFL;
-		SIGDELSET(p->p_sigignore, SIGILL);
-		SIGDELSET(p->p_sigcatch, SIGILL);
-		SIGDELSET(p->p_sigmask, SIGILL);
-#ifdef DEBUG
-		if (ldebug(rt_sendsig))
-			printf(LMSG("rt_sendsig: bad stack %p, oonstack=%x"),
-			    fp, oonstack);
-#endif
-		psignal(p, SIGILL);
-		return;
-	}
-
-	/*
 	 * Build the argument list for the signal handler.
 	 */
 	if (p->p_sysent->sv_sigtbl)
@@ -374,9 +348,13 @@
 		 * Process has trashed its stack; give it an illegal
 		 * instruction to halt it in its tracks.
 		 */
+#ifdef DEBUG
+		if (ldebug(rt_sendsig))
+			printf(LMSG("rt_sendsig: bad stack %p, oonstack=%x"),
+			    fp, oonstack);
+#endif
 		PROC_LOCK(p);
 		sigexit(td, SIGILL);
-		/* NOTREACHED */
 	}
 
 	/*
@@ -444,27 +422,6 @@
 	PROC_UNLOCK(p);
 
 	/*
-	 * grow() will return FALSE if the fp will not fit inside the stack
-	 *	and the stack can not be grown. useracc will return FALSE
-	 *	if access is denied.
-	 */
-	if ((grow_stack (p, (int)fp) == FALSE) ||
-	    !useracc((caddr_t)fp, sizeof (struct l_sigframe), 
-	    VM_PROT_WRITE)) {
-		/*
-		 * Process has trashed its stack; give it an illegal
-		 * instruction to halt it in its tracks.
-		 */
-		PROC_LOCK(p);
-		SIGACTION(p, SIGILL) = SIG_DFL;
-		SIGDELSET(p->p_sigignore, SIGILL);
-		SIGDELSET(p->p_sigcatch, SIGILL);
-		SIGDELSET(p->p_sigmask, SIGILL);
-		psignal(p, SIGILL);
-		return;
-	}
-
-	/*
 	 * Build the argument list for the signal handler.
 	 */
 	if (p->p_sysent->sv_sigtbl)
@@ -511,7 +468,6 @@
 		 */
 		PROC_LOCK(p);
 		sigexit(td, SIGILL);
-		/* NOTREACHED */
 	}
 
 	/*

==== //depot/projects/ia64/sys/kern/kern_descrip.c#7 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)kern_descrip.c	8.6 (Berkeley) 4/19/94
- * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.128 2002/03/15 08:03:46 alfred Exp $
+ * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.129 2002/03/19 04:30:04 alfred Exp $
  */
 
 #include "opt_compat.h"
@@ -1321,10 +1321,11 @@
 fdfree(td)
 	struct thread *td;
 {
-	register struct filedesc *fdp = td->td_proc->p_fd;
+	register struct filedesc *fdp;
 	struct file **fpp;
 	register int i;
 
+	fdp = td->td_proc->p_fd;
 	/* Certain daemons might not have file descriptors. */
 	if (fdp == NULL)
 		return;
@@ -1344,6 +1345,11 @@
 		if (*fpp)
 			(void) closef(*fpp, td);
 	}
+
+	PROC_LOCK(td->td_proc);
+	td->td_proc->p_fd = NULL;
+	PROC_UNLOCK(td->td_proc);
+
 	if (fdp->fd_nfiles > NDFILE)
 		FREE(fdp->fd_ofiles, M_FILEDESC);
 	if (fdp->fd_cdir)

==== //depot/projects/ia64/sys/kern/vfs_bio.c#9 (text+ko) ====

@@ -11,7 +11,7 @@
  * 2. Absolutely no warranty of function or purpose is made by the author
  *		John S. Dyson.
  *
- * $FreeBSD: src/sys/kern/vfs_bio.c,v 1.305 2002/03/17 00:56:40 jake Exp $
+ * $FreeBSD: src/sys/kern/vfs_bio.c,v 1.306 2002/03/19 04:09:20 bde Exp $
  */
 
 /*
@@ -3349,8 +3349,10 @@
 		p = bp->b_pages[index];
 		if (p && (index < bp->b_npages)) {
 			if (p->busy) {
-				printf("vm_hold_free_pages: blkno: %lld, lblkno: %lld\n",
-					bp->b_blkno, bp->b_lblkno);
+				printf(
+			    "vm_hold_free_pages: blkno: %lld, lblkno: %lld\n",
+				    (long long)bp->b_blkno,
+				    (long long)bp->b_lblkno);
 			}
 			bp->b_pages[index] = NULL;
 			pmap_qremove(pg, 1);
@@ -3379,12 +3381,12 @@
 	}
 
 	db_printf("b_flags = 0x%b\n", (u_int)bp->b_flags, PRINT_BUF_FLAGS);
-	db_printf("b_error = %d, b_bufsize = %ld, b_bcount = %ld, "
-		  "b_resid = %ld\nb_dev = (%d,%d), b_data = %p, "
-		  "b_blkno = %lld, b_pblkno = %lld\n",
-		  bp->b_error, bp->b_bufsize, bp->b_bcount, bp->b_resid,
-		  major(bp->b_dev), minor(bp->b_dev),
-		  bp->b_data, bp->b_blkno, bp->b_pblkno);
+	db_printf(
+	    "b_error = %d, b_bufsize = %ld, b_bcount = %ld, b_resid = %ld\n"
+	    "b_dev = (%d,%d), b_data = %p, b_blkno = %lld, b_pblkno = %lld\n",
+	    bp->b_error, bp->b_bufsize, bp->b_bcount, bp->b_resid,
+	    major(bp->b_dev), minor(bp->b_dev), bp->b_data,
+	    (long long)bp->b_blkno, (long long)bp->b_pblkno);
 	if (bp->b_npages) {
 		int i;
 		db_printf("b_npages = %d, pages(OBJ, IDX, PA): ", bp->b_npages);

==== //depot/projects/ia64/sys/kern/vfs_syscalls.c#5 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)vfs_syscalls.c	8.13 (Berkeley) 4/15/94
- * $FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.231 2002/03/12 04:00:10 jeff Exp $
+ * $FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.232 2002/03/19 04:30:04 alfred Exp $
  */
 
 /* For 4.3 integer FS ID compatibility */
@@ -446,29 +446,34 @@
 {
 	struct filedesc *fdp;
 	struct proc *p;
+	int nrele;
 
 	if (olddp->v_usecount == 1)
 		return;
 	sx_slock(&allproc_lock);
 	LIST_FOREACH(p, &allproc, p_list) {
+		PROC_LOCK(p);
 		fdp = p->p_fd;
-		if (fdp == NULL)
+		if (fdp == NULL) {
+			PROC_UNLOCK(p);
 			continue;
+		}
+		nrele = 0;
 		FILEDESC_LOCK(fdp);
 		if (fdp->fd_cdir == olddp) {
 			VREF(newdp);
 			fdp->fd_cdir = newdp;
-			FILEDESC_UNLOCK(fdp);
-			vrele(olddp);
-			FILEDESC_LOCK(fdp);
+			nrele++;
 		}
 		if (fdp->fd_rdir == olddp) {
 			VREF(newdp);
 			fdp->fd_rdir = newdp;
-			FILEDESC_UNLOCK(fdp);
+			nrele++;
+		}
+		FILEDESC_UNLOCK(fdp);
+		PROC_UNLOCK(p);
+		while (nrele--)
 			vrele(olddp);
-		} else
-			FILEDESC_UNLOCK(fdp);
 	}
 	sx_sunlock(&allproc_lock);
 	if (rootvnode == olddp) {

==== //depot/projects/ia64/sys/ufs/ffs/ffs_snapshot.c#6 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)ffs_snapshot.c	8.11 (McKusick) 7/23/00
- * $FreeBSD: src/sys/ufs/ffs/ffs_snapshot.c,v 1.32 2002/03/17 01:25:46 mckusick Exp $
+ * $FreeBSD: src/sys/ufs/ffs/ffs_snapshot.c,v 1.33 2002/03/19 04:09:21 bde Exp $
  */
 
 #include <sys/param.h>
@@ -1102,9 +1102,10 @@
 		}
 #ifdef DEBUG
 		if (snapdebug)
-			printf("%s%d lbn %d for inum %d size %ld to blkno %lld\n",
-			    "Copyonremove: snapino ", ip->i_number, lbn,
-			    inum, size, cbp->b_blkno);
+			printf(
+"Copyonremove: snapino %lu lbn %ld for inum %lu size %ld to blkno %lld\n",
+			    (unsigned long)ip->i_number, (long)lbn,
+			    (unsigned long)inum, size, (long long)cbp->b_blkno);
 #endif
 		/*
 		 * If we have already read the old block contents, then
@@ -1320,8 +1321,8 @@
 				printf("fs metadata");
 			else
 				printf("inum %d", VTOI(bp->b_vp)->i_number);
-			printf(" lblkno %lld to blkno %lld\n", bp->b_lblkno,
-			    cbp->b_blkno);
+			printf(" lblkno %lld to blkno %lld\n",
+			    (long long)bp->b_lblkno, (long long)cbp->b_blkno);
 		}
 #endif
 		/*

==== //depot/projects/ia64/usr.bin/uudecode/uudecode.c#5 (text+ko) ====

@@ -42,7 +42,7 @@
 static char sccsid[] = "@(#)uudecode.c	8.2 (Berkeley) 4/2/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/usr.bin/uudecode/uudecode.c,v 1.20 2002/03/19 00:44:07 jmallett Exp $";
+  "$FreeBSD: src/usr.bin/uudecode/uudecode.c,v 1.21 2002/03/19 02:05:27 jmallett Exp $";
 #endif /* not lint */
 
 /*
@@ -193,7 +193,7 @@
 			err(1, "strdup()");
 	}
 	if (!oflag) {
-		outfile = strtok(NULL, " \r\n");
+		outfile = strtok(NULL, "\r\n");
 		if (outfile == NULL)
 			errx(1, "no filename in input file");
 	}

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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