PERFORCE change 153551 for review

Ed Schouten ed at FreeBSD.org
Tue Nov 25 11:31:35 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=153551

Change 153551 by ed at ed_dull on 2008/11/25 19:30:53

	IFC. Also revert utmpx-changes.

Affected files ...

.. //depot/projects/mpsafetty/ObsoleteFiles.inc#17 integrate
.. //depot/projects/mpsafetty/include/Makefile#6 integrate
.. //depot/projects/mpsafetty/include/utmp.h#3 branch
.. //depot/projects/mpsafetty/include/utmpx.h#2 delete
.. //depot/projects/mpsafetty/sys/arm/at91/at91_machdep.c#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/at91board.h#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/at91var.h#3 integrate
.. //depot/projects/mpsafetty/sys/arm/at91/board_bwct.c#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/board_hl200.c#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/board_kb920x.c#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/board_tsc4370.c#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/files.at91#2 integrate
.. //depot/projects/mpsafetty/sys/arm/at91/files.kb920x#2 delete
.. //depot/projects/mpsafetty/sys/arm/at91/kb920x_machdep.c#4 delete
.. //depot/projects/mpsafetty/sys/arm/at91/std.at91#2 integrate
.. //depot/projects/mpsafetty/sys/arm/at91/std.bwct#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/std.hl200#1 branch
.. //depot/projects/mpsafetty/sys/arm/at91/std.kb920x#2 integrate
.. //depot/projects/mpsafetty/sys/arm/at91/std.tsc4370#1 branch
.. //depot/projects/mpsafetty/sys/arm/conf/BWCT#5 integrate
.. //depot/projects/mpsafetty/sys/arm/conf/HL200#5 integrate
.. //depot/projects/mpsafetty/sys/cddl/dev/cyclic/cyclic.c#2 integrate
.. //depot/projects/mpsafetty/sys/cddl/dev/dtrace/i386/dtrace_subr.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/acpica/acpi_pcib.c#2 integrate
.. //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum.c#3 integrate
.. //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_list.c#2 integrate
.. //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_move.c#2 integrate
.. //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_rename.c#3 integrate
.. //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_rm.c#4 integrate
.. //depot/projects/mpsafetty/sys/i386/i386/identcpu.c#5 integrate
.. //depot/projects/mpsafetty/sys/i386/i386/intr_machdep.c#3 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_cache.c#7 integrate
.. //depot/projects/mpsafetty/sys/modules/nfsserver/Makefile#4 integrate
.. //depot/projects/mpsafetty/tools/regression/acltools/00.t#1 branch
.. //depot/projects/mpsafetty/tools/regression/acltools/run#1 branch
.. //depot/projects/mpsafetty/tools/regression/acltools/tools-posix.test#1 branch

Differences ...

==== //depot/projects/mpsafetty/ObsoleteFiles.inc#17 (text+ko) ====

@@ -14,8 +14,6 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
-# 20081116: removal of utmp(5), replaced by utmpx(5)
-OLD_FILES+=usr/include/utmp.h
 # 20080928: removal of inaccurate device_ids(9) manual page
 OLD_FILES+=usr/share/man/man9/device_ids.9.gz
 OLD_FILES+=usr/share/man/man9/major.9.gz

==== //depot/projects/mpsafetty/include/Makefile#6 (text+ko) ====

@@ -23,7 +23,7 @@
 	stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \
 	strings.h sysexits.h tar.h tgmath.h \
 	time.h timeconv.h timers.h ttyent.h \
-	ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h vis.h wchar.h \
+	ulimit.h unistd.h utime.h utmp.h uuid.h varargs.h vis.h wchar.h \
 	wctype.h wordexp.h
 
 MHDRS=	float.h floatingpoint.h stdarg.h

==== //depot/projects/mpsafetty/sys/arm/at91/at91var.h#3 (text) ====

@@ -23,7 +23,7 @@
  * SUCH DAMAGE.
  */
 
-/* $FreeBSD: src/sys/arm/at91/at91var.h,v 1.2 2008/11/25 00:13:26 imp Exp $ */
+/* $FreeBSD: src/sys/arm/at91/at91var.h,v 1.3 2008/11/25 18:40:40 imp Exp $ */
 
 #ifndef _AT91VAR_H_
 #define _AT91VAR_H_
@@ -43,5 +43,4 @@
 	struct resource_list resources;
 };
 
-
 #endif /* _AT91VAR_H_ */

==== //depot/projects/mpsafetty/sys/arm/at91/files.at91#2 (text) ====

@@ -1,6 +1,7 @@
-# $FreeBSD: src/sys/arm/at91/files.at91,v 1.7 2007/01/05 02:06:53 ticso Exp $
+# $FreeBSD: src/sys/arm/at91/files.at91,v 1.9 2008/11/25 19:05:46 imp Exp $
 arm/arm/cpufunc_asm_arm9.S	standard
 arm/arm/irq_dispatch.S		standard
+arm/at91/at91_machdep.c		standard
 arm/at91/at91.c			standard
 arm/at91/at91_st.c		standard
 arm/at91/at91_mci.c		optional	at91_mci
@@ -18,3 +19,10 @@
 arm/at91/uart_bus_at91usart.c	optional	uart
 arm/at91/uart_cpu_at91rm9200usart.c	optional	uart
 arm/at91/uart_dev_at91usart.c	optional	uart
+#
+# All the boards we support
+#
+arm/at91/board_bwct.c		optional	at91_board_bwct
+arm/at91/board_hl200.c		optional	at91_board_hl200
+arm/at91/board_kb920x.c		optional	at91_board_kb920x
+arm/at91/board_tsc4370.c	optional	at91_board_tsc4370

==== //depot/projects/mpsafetty/sys/arm/at91/std.at91#2 (text) ====

@@ -1,6 +1,6 @@
-# $FreeBSD: src/sys/arm/at91/std.at91,v 1.4 2007/10/25 22:57:19 cognet Exp $
+# $FreeBSD: src/sys/arm/at91/std.at91,v 1.5 2008/11/25 16:38:10 imp Exp $
 
 files	"../at91/files.at91"
-cpu	CPU_ARM9
+cpu		CPU_ARM9
 makeoptions	CONF_CFLAGS=-mcpu=arm9
-options		PHYSADDR=0x20000000
+options 	PHYSADDR=0x20000000

==== //depot/projects/mpsafetty/sys/arm/at91/std.kb920x#2 (text) ====

@@ -1,9 +1,10 @@
-#$FreeBSD: src/sys/arm/at91/std.kb920x,v 1.5 2007/10/25 22:57:19 cognet Exp $
+#$FreeBSD: src/sys/arm/at91/std.kb920x,v 1.7 2008/11/25 19:05:46 imp Exp $
 include "../at91/std.at91"
-files	"../at91/files.kb920x"
 
 options		STARTUP_PAGETABLE_ADDR=0x20800000
 makeoptions	KERNPHYSADDR=0x20000000
+options		KERNPHYSADDR=0x20000000	
 makeoptions	KERNVIRTADDR=0xc0000000
-options		KERNPHYSADDR=0x20000000	
 options		KERNVIRTADDR=0xc0000000
+
+device		at91_board_kb920x

==== //depot/projects/mpsafetty/sys/arm/conf/BWCT#5 (text+ko) ====

@@ -15,14 +15,14 @@
 # If you are in doubt as to the purpose or necessity of a line, check first 
 # in NOTES.
 #
-# $FreeBSD: src/sys/arm/conf/BWCT,v 1.6 2008/10/23 01:51:55 marcel Exp $
+# $FreeBSD: src/sys/arm/conf/BWCT,v 1.7 2008/11/25 19:05:46 imp Exp $
 
 ident		BWCT
 
 options	VERBOSE_INIT_ARM
 
 options		AT91_BWCT
-include		"../at91/std.kb920x"
+include		"../at91/std.bwct"
 
 #To statically compile in device wiring instead of /boot/device.hints
 #hints		"hints.at91rm9200"

==== //depot/projects/mpsafetty/sys/arm/conf/HL200#5 (text+ko) ====

@@ -1,5 +1,4 @@
-# KB920X -- Custom kernel configuration for the KB9200, 9201 and 9202
-# AT91RM9200 based Hot-e configuration file
+# Kernel configuration for the AT91RM9200 based Hot-e configuration file
 #
 # For more information on this file, please read the handbook section on
 # Kernel Configuration Files:
@@ -16,27 +15,18 @@
 # If you are in doubt as to the purpose or necessity of a line, check first 
 # in NOTES.
 #
-# $FreeBSD: src/sys/arm/conf/HL200,v 1.6 2008/10/23 01:51:55 marcel Exp $
+# $FreeBSD: src/sys/arm/conf/HL200,v 1.7 2008/11/25 19:05:46 imp Exp $
 
 ident		HL200
 
-include "../at91/std.at91"
-files	"../at91/files.kb920x"
-
-options		STARTUP_PAGETABLE_ADDR=0x20000000
-makeoptions	KERNPHYSADDR=0x20100000
-makeoptions	KERNVIRTADDR=0xc0100000
-options		KERNPHYSADDR=0x20100000	
-options		KERNVIRTADDR=0xc0100000
+include "../at91/std.hl200"
 
 #To statically compile in device wiring instead of /boot/device.hints
-#hints		"GENERIC.hints"		#Default places to look for devices.
 hints		"KB920X.hints"
 
 makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
 options		DDB
 options		KDB
-options		AT91C_MASTER_CLOCK=45000000
 
 options 	SCHED_4BSD		#4BSD scheduler
 options 	INET			#InterNETworking
@@ -46,17 +36,17 @@
 #options 	UFS_ACL			#Support for access control lists
 #options 	UFS_DIRHASH		#Improve performance on big directories
 #options 	MD_ROOT			#MD is a potential root device
-#options		MD_ROOT_SIZE=4096	# 3MB ram disk
+#options 	MD_ROOT_SIZE=4096	# 3MB ram disk
 #options 	ROOTDEVNAME=\"ufs:/dev/mmcsd0s1a\"
 options 	NFSCLIENT		#Network Filesystem Client
 #options 	NFSSERVER		#Network Filesystem Server
 #options 	NFSLOCKD		#Network Lock Manager
 options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
-options	BOOTP_NFSROOT
-options	BOOTP
-options BOOTP_NFSV3
-options BOOTP_WIRED_TO=ate0
-options BOOTP_COMPAT
+options 	BOOTP_NFSROOT
+options		BOOTP
+options 	BOOTP_NFSV3
+options 	BOOTP_WIRED_TO=ate0
+options 	BOOTP_COMPAT
 
 #options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem
@@ -124,20 +114,20 @@
 device          rue             # RealTek RTL8150 USB Ethernet
 device		udav
 # usb serial
-device          ucom
-device          uark
-device          ubsa
-device          ubser
-device          uftdi
-device          uipaq
-device          uplcom
-device          uvisor
-device          uvscom
+device		ucom
+device		uark
+device		ubsa
+#device		ubser		# not yet converted.
+device		uftdi
+device		uipaq
+device		uplcom
+device		uvisor
+device		uvscom
 # SCSI peripherals
-device          scbus           # SCSI bus (required for SCSI)
-device          da              # Direct Access (disks)
-device          cd              # CD
-device          pass            # Passthrough device (direct SCSI access)
+device		scbus           # SCSI bus (required for SCSI)
+device		da              # Direct Access (disks)
+device		cd              # CD
+device		pass            # Passthrough device (direct SCSI access)
 # Wireless NIC cards
 device          wlan            # 802.11 support
 device          wlan_wep        # 802.11 WEP support

==== //depot/projects/mpsafetty/sys/cddl/dev/cyclic/cyclic.c#2 (text+ko) ====

@@ -21,7 +21,7 @@
  *
  * Portions Copyright 2008 John Birrell <jb at freebsd.org>
  *
- * $FreeBSD: src/sys/cddl/dev/cyclic/cyclic.c,v 1.1 2008/05/23 22:21:58 jb Exp $
+ * $FreeBSD: src/sys/cddl/dev/cyclic/cyclic.c,v 1.2 2008/11/25 19:25:54 ganbold Exp $
  *
  * This is a simplified version of the cyclic timer subsystem from
  * OpenSolaris. In the FreeBSD version, we don't use interrupt levels.
@@ -1341,12 +1341,11 @@
 static void
 cyclic_uninit(void)
 {
-	struct pcpu *pc;
 	cpu_t *c;
 	int id;
 
 	for (id = 0; id <= mp_maxid; id++) {
-		if ((pc = pcpu_find(id)) == NULL)
+		if (pcpu_find(id) == NULL)
 			continue;
 
 		c = &solaris_cpu[id];

==== //depot/projects/mpsafetty/sys/cddl/dev/dtrace/i386/dtrace_subr.c#2 (text+ko) ====

@@ -19,7 +19,7 @@
  *
  * CDDL HEADER END
  *
- * $FreeBSD: src/sys/cddl/dev/dtrace/i386/dtrace_subr.c,v 1.1 2008/05/23 05:59:41 jb Exp $
+ * $FreeBSD: src/sys/cddl/dev/dtrace/i386/dtrace_subr.c,v 1.2 2008/11/25 19:25:54 ganbold Exp $
  *
  */
 /*
@@ -403,7 +403,6 @@
 {
 	cpumask_t map;
 	int i;
-	struct pcpu *cp;
 
 	/* The current CPU is the reference one. */
 	tsc_skew[curcpu] = 0;
@@ -412,7 +411,7 @@
 		if (i == curcpu)
 			continue;
 
-		if ((cp = pcpu_find(i)) == NULL)
+		if (pcpu_find(i) == NULL)
 			continue;
 
 		map = 0;

==== //depot/projects/mpsafetty/sys/dev/acpica/acpi_pcib.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib.c,v 1.60 2005/12/03 21:17:17 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib.c,v 1.61 2008/11/25 19:06:20 ganbold Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -127,7 +127,6 @@
 int
 acpi_pcib_attach(device_t dev, ACPI_BUFFER *prt, int busno)
 {
-    device_t			child;
     ACPI_STATUS			status;
 
     ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
@@ -157,7 +156,7 @@
     /*
      * Attach the PCI bus proper.
      */
-    if ((child = device_add_child(dev, "pci", busno)) == NULL) {
+    if (device_add_child(dev, "pci", busno) == NULL) {
 	device_printf(device_get_parent(dev), "couldn't attach pci bus\n");
 	return_VALUE(ENXIO);
     }

==== //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum.c,v 1.22 2008/10/26 17:20:37 lulf Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum.c,v 1.23 2008/11/25 19:13:58 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -165,12 +165,20 @@
 	plexes = gctl_get_paraml(req, "plexes", sizeof(*plexes));
 	subdisks = gctl_get_paraml(req, "subdisks", sizeof(*subdisks));
 	drives = gctl_get_paraml(req, "drives", sizeof(*drives));
+	if (volumes == NULL || plexes == NULL || subdisks == NULL ||
+	    drives == NULL) {
+		gctl_error(req, "number of objects not given");
+		return (-1);
+	}
 
 	/* First, handle drive definitions ... */
 	for (i = 0; i < *drives; i++) {
 		snprintf(buf, sizeof(buf), "drive%d", i);
 		d2 = gctl_get_paraml(req, buf, sizeof(*d2));
-
+		if (d2 == NULL) {
+			gctl_error(req, "no drive definition given");
+			return (-1);
+		}
 		d = gv_find_drive(sc, d2->name);
 		if (d != NULL) {
 			gctl_error(req, "drive '%s' is already known",
@@ -205,7 +213,10 @@
 		error = 0;
 		snprintf(buf, sizeof(buf), "volume%d", i);
 		v2 = gctl_get_paraml(req, buf, sizeof(*v2));
-
+		if (v2 == NULL) {
+			gctl_error(req, "no volume definition given");
+			return (-1);
+		}
 		v = gv_find_vol(sc, v2->name);
 		if (v != NULL) {
 			gctl_error(req, "volume '%s' is already known",
@@ -226,7 +237,10 @@
 		error = 0;
 		snprintf(buf, sizeof(buf), "plex%d", i);
 		p2 = gctl_get_paraml(req, buf, sizeof(*p2));
-
+		if (p2 == NULL) {
+			gctl_error(req, "no plex definition given");
+			return (-1);
+		}
 		p = gv_find_plex(sc, p2->name);
 		if (p != NULL) {
 			gctl_error(req, "plex '%s' is already known", p->name);
@@ -260,7 +274,10 @@
 		error = 0;
 		snprintf(buf, sizeof(buf), "sd%d", i);
 		s2 = gctl_get_paraml(req, buf, sizeof(*s2));
-
+		if (s2 == NULL) {
+			gctl_error(req, "no subdisk definition given");
+			return (-1);
+		}
 		s = gv_find_sd(sc, s2->name);
 		if (s != NULL) {
 			gctl_error(req, "subdisk '%s' is already known",
@@ -405,7 +422,10 @@
 	/* Return configuration in string form. */
 	} else if (!strcmp(verb, "getconfig")) {
 		comment = gctl_get_param(req, "comment", NULL);
-
+		if (comment == NULL) {
+			gctl_error(req, "no comment parameter given");
+			return;
+		}
 		sb = sbuf_new(NULL, NULL, GV_CFG_LEN, SBUF_FIXEDLEN);
 		gv_format_config(sc, sb, 0, comment);
 		sbuf_finish(sb);

==== //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_list.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_list.c,v 1.3 2005/01/06 18:27:30 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_list.c,v 1.4 2008/11/25 19:13:58 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/libkern.h>
@@ -62,6 +62,10 @@
 	}
 
 	flags = gctl_get_paraml(req, "flags", sizeof(*flags));
+	if (flags == NULL) {
+		gctl_error(req, "no flags given");
+		return;
+	}
 
 	sc = gp->softc;
 
@@ -69,6 +73,10 @@
 
 	/* Figure out which command was given. */
 	cmd = gctl_get_param(req, "cmd", NULL);
+	if (cmd == NULL) {
+		gctl_error(req, "no command given");
+		return;
+	}
 
 	/* List specific objects or everything. */
 	if (!strcmp(cmd, "list") || !strcmp(cmd, "l")) {

==== //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_move.c#2 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_move.c,v 1.3 2006/02/08 21:32:45 le Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_move.c,v 1.4 2008/11/25 19:13:58 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/libkern.h>
@@ -56,7 +56,15 @@
 	sc = gp->softc;
 
 	argc = gctl_get_paraml(req, "argc", sizeof(*argc));
+	if (argc == NULL) {
+		gctl_error(req, "no arguments given");
+		return;
+	}
 	flags = gctl_get_paraml(req, "flags", sizeof(*flags));
+	if (flags == NULL) {
+		gctl_error(req, "no flags given");
+		return;
+	}
 	destination = gctl_get_param(req, "destination", NULL);
 	if (destination == NULL) {
 		gctl_error(req, "no destination given");

==== //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_rename.c#3 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_rename.c,v 1.4 2008/07/19 13:53:11 lulf Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_rename.c,v 1.5 2008/11/25 19:13:58 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/libkern.h>
@@ -65,6 +65,10 @@
 	sc = gp->softc;
 
 	flags = gctl_get_paraml(req, "flags", sizeof(*flags));
+	if (flags == NULL) {
+		gctl_error(req, "no flags given");
+		return;
+	}
 
 	newname = gctl_get_param(req, "newname", NULL);
 	if (newname == NULL) {

==== //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_rm.c#4 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_rm.c,v 1.15 2008/10/26 17:20:37 lulf Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_rm.c,v 1.16 2008/11/25 19:13:58 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/libkern.h>
@@ -59,13 +59,18 @@
 	int i, type, err;
 
 	argc = gctl_get_paraml(req, "argc", sizeof(*argc));
-	flags = gctl_get_paraml(req, "flags", sizeof(*flags));
 
 	if (argc == NULL || *argc == 0) {
 		gctl_error(req, "no arguments given");
 		return;
 	}
 
+	flags = gctl_get_paraml(req, "flags", sizeof(*flags));
+	if (flags == NULL) {
+		gctl_error(req, "no flags given");
+		return;
+	}
+
 	sc = gp->softc;
 
 	for (i = 0; i < *argc; i++) {

==== //depot/projects/mpsafetty/sys/i386/i386/identcpu.c#5 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.193 2008/10/22 21:03:30 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.194 2008/11/25 13:35:06 takawata Exp $");
 
 #include "opt_cpu.h"
 
@@ -846,7 +846,8 @@
 			 * mention the capability.
 			 */
 			if (!tsc_is_invariant &&
-			    (strcmp(cpu_vendor, "AuthenticAMD") == 0 &&
+			    ((strcmp(cpu_vendor, "AuthenticAMD") == 0 ||
+			      (strcmp(cpu_vendor, "GenuineIntel") == 0))&&
 			    ((amd_pminfo & AMDPM_TSC_INVARIANT) != 0 ||
 			    I386_CPU_FAMILY(cpu_id) >= 0x10 ||
 			    cpu_id == 0x60fb2))) {

==== //depot/projects/mpsafetty/sys/i386/i386/intr_machdep.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.37 2008/09/18 03:19:46 kmacy Exp $
+ * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.38 2008/11/25 18:48:13 ganbold Exp $
  */
 
 /*
@@ -230,11 +230,8 @@
 intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame)
 {
 	struct intr_event *ie;
-	struct thread *td;
 	int vector;
 
-	td = curthread;
-
 	/*
 	 * We count software interrupts when we process them.  The
 	 * code here follows previous practice, but there's an

==== //depot/projects/mpsafetty/sys/kern/vfs_cache.c#7 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.126 2008/09/24 18:51:33 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.127 2008/11/25 15:36:15 marcus Exp $");
 
 #include <sys/param.h>
 #include <sys/filedesc.h>
@@ -716,7 +716,8 @@
 {
 	char *bp, *tmpbuf;
 	struct filedesc *fdp;
-	int error;
+	struct vnode *cdir, *rdir;
+	int error, vfslocked;
 
 	if (disablecwd)
 		return (ENODEV);
@@ -728,9 +729,18 @@
 	tmpbuf = malloc(buflen, M_TEMP, M_WAITOK);
 	fdp = td->td_proc->p_fd;
 	FILEDESC_SLOCK(fdp);
-	error = vn_fullpath1(td, fdp->fd_cdir, fdp->fd_rdir, tmpbuf,
-	    &bp, buflen);
+	cdir = fdp->fd_cdir;
+	VREF(cdir);
+	rdir = fdp->fd_rdir;
+	VREF(rdir);
 	FILEDESC_SUNLOCK(fdp);
+	error = vn_fullpath1(td, cdir, rdir, tmpbuf, &bp, buflen);
+	vfslocked = VFS_LOCK_GIANT(rdir->v_mount);
+	vrele(rdir);
+	VFS_UNLOCK_GIANT(vfslocked);
+	vfslocked = VFS_LOCK_GIANT(cdir->v_mount);
+	vrele(cdir);
+	VFS_UNLOCK_GIANT(vfslocked);
 
 	if (!error) {
 		if (bufseg == UIO_SYSSPACE)
@@ -771,7 +781,8 @@
 {
 	char *buf;
 	struct filedesc *fdp;
-	int error;
+	struct vnode *rdir;
+	int error, vfslocked;
 
 	if (disablefullpath)
 		return (ENODEV);
@@ -781,8 +792,13 @@
 	buf = malloc(MAXPATHLEN, M_TEMP, M_WAITOK);
 	fdp = td->td_proc->p_fd;
 	FILEDESC_SLOCK(fdp);
-	error = vn_fullpath1(td, vn, fdp->fd_rdir, buf, retbuf, MAXPATHLEN);
+	rdir = fdp->fd_rdir;
+	VREF(rdir);
 	FILEDESC_SUNLOCK(fdp);
+	error = vn_fullpath1(td, vn, rdir, buf, retbuf, MAXPATHLEN);
+	vfslocked = VFS_LOCK_GIANT(rdir->v_mount);
+	vrele(rdir);
+	VFS_UNLOCK_GIANT(vfslocked);
 
 	if (!error)
 		*freebuf = buf;

==== //depot/projects/mpsafetty/sys/modules/nfsserver/Makefile#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/modules/nfsserver/Makefile,v 1.28 2008/11/06 10:53:35 des Exp $
+# $FreeBSD: src/sys/modules/nfsserver/Makefile,v 1.29 2008/11/25 16:11:41 dfr Exp $
 
 .PATH: ${.CURDIR}/../../nfsserver ${.CURDIR}/../../nfs
 KMOD=	nfsserver
@@ -6,6 +6,7 @@
 	nfs_fha.c nfs_serv.c nfs_srvkrpc.c nfs_srvsock.c nfs_srvcache.c \
 	nfs_srvsubs.c nfs_syscalls.c nfs_common.c \
 	opt_mac.h \
+	opt_kgssapi.h \
 	opt_nfs.h
 SRCS+=	opt_inet6.h
 


More information about the p4-projects mailing list