Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Sep 2009 15:51:44 GMT
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 168076 for review
Message-ID:  <200909021551.n82FpiEg095436@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=168076

Change 168076 by trasz@trasz_anger on 2009/09/02 15:51:39

	IFC.

Affected files ...

.. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#34 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/bin/chmod/chmod.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/bin/cp/utils.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/ee/ee.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/etc/Makefile#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.local.dist#3 delete
.. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.x11-4.dist#2 delete
.. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.x11.dist#2 delete
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdtime/strptime.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/local_apic.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_core.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/pmc_events.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/pci/hda/hdac.c#27 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/pci/hda/hdac_private.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/local_apic.c#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/if_ether.c#22 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-posix.test#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pkg_install/lib/lib.h#9 integrate

Differences ...

==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#34 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.206 2009/08/23 18:28:58 antoine Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.207 2009/09/02 14:56:23 flz Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -14,6 +14,10 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20090902: BSD.{x11,x11-4}.dist are dead and BSD.local.dist lives in ports/
+OLD_FILES+=etc/mtree/BSD.local.dist
+OLD_FILES+=etc/mtree/BSD.x11.dist
+OLD_FILES+=etc/mtree/BSD.x11-4.dist
 # 20090801: vimage.h removed in favour of vnet.h
 OLD_FILES+=usr/include/sys/vimage.h
 # 20090719: library version bump for 8.0

==== //depot/projects/soc2008/trasz_nfs4acl/bin/chmod/chmod.c#8 (text+ko) ====

@@ -39,9 +39,8 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.36 2009/08/31 20:42:07 trasz Exp $");
+__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.37 2009/09/02 05:26:59 trasz Exp $");
 
-#include <sys/types.h>
 #include <sys/param.h>
 #include <sys/stat.h>
 
@@ -63,7 +62,7 @@
 	FTS *ftsp;
 	FTSENT *p;
 	mode_t *set;
-	int Hflag, Lflag, Rflag, ch, fflag, fts_options, hflag, rval, error;
+	int Hflag, Lflag, Rflag, ch, error, fflag, fts_options, hflag, rval;
 	int vflag;
 	char *mode;
 	mode_t newmode;
@@ -170,7 +169,6 @@
 			 */
 			if (!hflag)
 				continue;
-			/* else */
 			/* FALLTHROUGH */
 		default:
 			break;
@@ -188,9 +186,11 @@
 			error = lchmod(p->fts_accpath, newmode);
 		else
 			error = chmod(p->fts_accpath, newmode);
-		if (error && !fflag) {
-			warn("%s", p->fts_path);
-			rval = 1;
+		if (error) {
+			if (!fflag) {
+				warn("%s", p->fts_path);
+				rval = 1;
+			}
 		} else {
 			if (vflag) {
 				(void)printf("%s", p->fts_path);
@@ -201,7 +201,6 @@
 					strmode(p->fts_statp->st_mode, m1);
 					strmode((p->fts_statp->st_mode &
 					    S_IFMT) | newmode, m2);
-
 					(void)printf(": 0%o [%s] -> 0%o [%s]",
 					    p->fts_statp->st_mode, m1,
 					    (p->fts_statp->st_mode & S_IFMT) |
@@ -209,12 +208,10 @@
 				}
 				(void)printf("\n");
 			}
-
 		}
 	}
 	if (errno)
 		err(1, "fts_read");
-	free(set);
 	exit(rval);
 }
 

==== //depot/projects/soc2008/trasz_nfs4acl/bin/cp/utils.c#11 (text+ko) ====

@@ -33,7 +33,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.58 2009/05/30 10:36:14 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.59 2009/09/02 08:08:57 trasz Exp $");
 
 #include <sys/types.h>
 #include <sys/acl.h>
@@ -378,59 +378,51 @@
 preserve_fd_acls(int source_fd, int dest_fd)
 {
 	acl_t acl;
-	acl_type_t source_type, dest_type;
-	int source_acl_supported = 0, dest_acl_supported = 0, trivial;
+	acl_type_t acl_type;
+	int acl_supported = 0, ret, trivial;
 
-	if (fpathconf(source_fd, _PC_ACL_EXTENDED) == 1) {
-		source_acl_supported = 1;
-		source_type = ACL_TYPE_ACCESS;
+	ret = fpathconf(source_fd, _PC_ACL_NFS4);
+	if (ret > 0 ) {
+		acl_supported = 1;
+		acl_type = ACL_TYPE_NFS4;
+	} else if (ret < 0 && errno != EINVAL) {
+		warn("fpathconf(..., _PC_ACL_NFS4) failed for %s", to.p_path);
+		return (1);
 	}
-
-	if (fpathconf(source_fd, _PC_ACL_NFS4) == 1) {
-		source_acl_supported = 1;
-		source_type = ACL_TYPE_NFS4;
+	if (acl_supported == 0) {
+		ret = fpathconf(source_fd, _PC_ACL_EXTENDED);
+		if (ret > 0 ) {
+			acl_supported = 1;
+			acl_type = ACL_TYPE_ACCESS;
+		} else if (ret < 0 && errno != EINVAL) {
+			warn("fpathconf(..., _PC_ACL_EXTENDED) failed for %s",
+			    to.p_path);
+			return (1);
+		}
 	}
-
-	if (fpathconf(dest_fd, _PC_ACL_EXTENDED) == 1) {
-		dest_acl_supported = 1;
-		dest_type = ACL_TYPE_ACCESS;
-	}
-
-	if (fpathconf(dest_fd, _PC_ACL_NFS4) == 1) {
-		dest_acl_supported = 1;
-		dest_type = ACL_TYPE_NFS4;
-	}
-
-	if (!source_acl_supported || !dest_acl_supported)
+	if (acl_supported == 0)
 		return (0);
 
-	acl = acl_get_fd_np(source_fd, source_type);
+	acl = acl_get_fd_np(source_fd, acl_type);
 	if (acl == NULL) {
 		warn("failed to get acl entries while setting %s", to.p_path);
 		return (1);
 	}
-
 	if (acl_is_trivial_np(acl, &trivial)) {
-		warn("acl_is_trivial() failed");
+		warn("acl_is_trivial() failed for %s", to.p_path);
+		acl_free(acl);
 		return (1);
 	}
-
-	if (trivial)
-		return (0);
-
-	if (source_type != dest_type) {
-		warnx("ACL brand of source is %s, but destination is %s; "
-		    "ACL not copied",
-		    source_type == ACL_TYPE_NFS4 ? "NFSv4" : "POSIX.1e",
-		    dest_type == ACL_TYPE_NFS4 ? "NFSv4" : "POSIX.1e");
-
+	if (trivial) {
+		acl_free(acl);
 		return (0);
 	}
-
-	if (acl_set_fd_np(dest_fd, acl, dest_type) < 0) {
+	if (acl_set_fd_np(dest_fd, acl, acl_type) < 0) {
 		warn("failed to set acl entries for %s", to.p_path);
+		acl_free(acl);
 		return (1);
 	}
+	acl_free(acl);
 	return (0);
 }
 
@@ -441,41 +433,31 @@
 	int (*aclsetf)(const char *, acl_type_t, acl_t);
 	struct acl *aclp;
 	acl_t acl;
-	acl_type_t source_type, dest_type;
-	int source_acl_supported = 0, dest_acl_supported = 0;
+	acl_type_t acl_type;
+	int acl_supported = 0, ret, trivial;
 
-	if (pathconf(source_dir, _PC_ACL_EXTENDED) == 1) {
-		source_acl_supported = 1;
-		source_type = ACL_TYPE_ACCESS;
+	ret = pathconf(source_dir, _PC_ACL_NFS4);
+	if (ret > 0) {
+		acl_supported = 1;
+		acl_type = ACL_TYPE_NFS4;
+	} else if (ret < 0 && errno != EINVAL) {
+		warn("fpathconf(..., _PC_ACL_NFS4) failed for %s", source_dir);
+		return (1);
 	}
-
-	if (pathconf(source_dir, _PC_ACL_NFS4) == 1) {
-		source_acl_supported = 1;
-		source_type = ACL_TYPE_NFS4;
+	if (acl_supported == 0) {
+		ret = pathconf(source_dir, _PC_ACL_EXTENDED);
+		if (ret > 0) {
+			acl_supported = 1;
+			acl_type = ACL_TYPE_ACCESS;
+		} else if (ret < 0 && errno != EINVAL) {
+			warn("fpathconf(..., _PC_ACL_EXTENDED) failed for %s",
+			    source_dir);
+			return (1);
+		}
 	}
-
-	if (pathconf(dest_dir, _PC_ACL_EXTENDED) == 1) {
-		dest_acl_supported = 1;
-		dest_type = ACL_TYPE_ACCESS;
-	}
-
-	if (pathconf(dest_dir, _PC_ACL_NFS4) == 1) {
-		dest_acl_supported = 1;
-		dest_type = ACL_TYPE_NFS4;
-	}
-
-	if (!source_acl_supported || !dest_acl_supported)
+	if (acl_supported == 0)
 		return (0);
 
-	if (source_type != dest_type) {
-		warnx("ACL brand of source is %s, but destination is %s; "
-		    "ACL not copied",
-		    source_type == ACL_TYPE_NFS4 ? "NFSv4" : "POSIX.1e",
-		    dest_type == ACL_TYPE_NFS4 ? "NFSv4" : "POSIX.1e");
-
-		return (0);
-	}
-
 	/*
 	 * If the file is a link we will not follow it
 	 */
@@ -486,8 +468,7 @@
 		aclgetf = acl_get_file;
 		aclsetf = acl_set_file;
 	}
-
-	if (source_type != ACL_TYPE_NFS4) {
+	if (acl_type == ACL_TYPE_ACCESS) {
 		/*
 		 * Even if there is no ACL_TYPE_DEFAULT entry here, a zero
 		 * size ACL will be returned. So it is not safe to simply
@@ -504,20 +485,31 @@
 		    ACL_TYPE_DEFAULT, acl) < 0) {
 			warn("failed to set default acl entries on %s",
 			    dest_dir);
+			acl_free(acl);
 			return (1);
 		}
+		acl_free(acl);
 	}
-
-	acl = aclgetf(source_dir, source_type);
+	acl = aclgetf(source_dir, acl_type);
 	if (acl == NULL) {
 		warn("failed to get acl entries on %s", source_dir);
 		return (1);
 	}
-	aclp = &acl->ats_acl;
-	if (aclsetf(dest_dir, dest_type, acl) < 0) {
+	if (acl_is_trivial_np(acl, &trivial)) {
+		warn("acl_is_trivial() failed on %s", source_dir);
+		acl_free(acl);
+		return (1);
+	}
+	if (trivial) {
+		acl_free(acl);
+		return (0);
+	}
+	if (aclsetf(dest_dir, acl_type, acl) < 0) {
 		warn("failed to set acl entries on %s", dest_dir);
+		acl_free(acl);
 		return (1);
 	}
+	acl_free(acl);
 	return (0);
 }
 

==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ee/ee.c#2 (text+ko) ====

@@ -55,7 +55,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/contrib/ee/ee.c,v 1.4 2009/05/28 04:25:38 marcel Exp $");
+__FBSDID("$FreeBSD: src/contrib/ee/ee.c,v 1.6 2009/09/02 04:43:46 ache Exp $");
 
 char *ee_copyright_message = 
 "Copyright (c) 1986, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2009 Hugh Mahon ";
@@ -83,6 +83,7 @@
 #include <errno.h>
 #include <string.h>
 #include <pwd.h>
+#include <locale.h>
 
 #ifdef HAS_SYS_WAIT
 #include <sys/wait.h>
@@ -100,9 +101,7 @@
 #include <unistd.h>
 #endif
 
-
 #ifndef NO_CATGETS
-#include <locale.h>
 #include <nl_types.h>
 
 nl_catd catalog;
@@ -726,7 +725,7 @@
 	}
 	*point = character;	/* insert new character			*/
 	wclrtoeol(text_win);
-	if (((character >= 0) && (character < ' ')) || (character >= 127)) /* check for TAB character*/
+	if (!isprint((unsigned char)character)) /* check for TAB character*/
 	{
 		scr_pos = scr_horz += out_char(text_win, character, scr_horz);
 		point++;
@@ -734,7 +733,7 @@
 	}
 	else
 	{
-		waddch(text_win, character);
+		waddch(text_win, (unsigned char)character);
 		scr_pos = ++scr_horz;
 		point++;
 		position ++;
@@ -969,17 +968,17 @@
 		}
 		else
 		{
-			waddch(window, (char)character );
+			waddch(window, (unsigned char)character );
 			return(1);
 		}
 	}
 	else
 	{
-		waddch(window, (char)character);
+		waddch(window, (unsigned char)character);
 		return(1);
 	}
 	for (i2 = 0; (string[i2] != '\0') && (((column+i2+1)-horiz_offset) < last_col); i2++)
-		waddch(window, string[i2]);
+		waddch(window, (unsigned char)string[i2]);
 	return(strlen(string));
 }
 
@@ -1044,7 +1043,7 @@
 	wclrtoeol(text_win);
 	while ((posit < length) && (column <= last_col))
 	{
-		if ((*temp < 32) || (*temp >= 127))
+		if (!isprint(*temp))
 		{
 			column += len_char(*temp, abs_column);
 			abs_column += out_char(text_win, *temp, abs_column);
@@ -1923,13 +1922,13 @@
 			}
 			*nam_str = in;
 			g_pos++;
-			if (((in < ' ') || (in > 126)) && (g_horz < (last_col - 1)))
+			if (!isprint((unsigned char)in) && (g_horz < (last_col - 1)))
 				g_horz += out_char(com_win, in, g_horz);
 			else
 			{
 				g_horz++;
 				if (g_horz < (last_col - 1))
-					waddch(com_win, in);
+					waddch(com_win, (unsigned char)in);
 			}
 			nam_str++;
 		}
@@ -5085,8 +5084,8 @@
 {
 	int counter;
 
+	setlocale(LC_ALL, "");
 #ifndef NO_CATGETS
-	setlocale(LC_ALL, "");
 	catalog = catopen("ee", NL_CAT_LOCALE);
 #endif /* NO_CATGETS */
 

==== //depot/projects/soc2008/trasz_nfs4acl/etc/Makefile#9 (text+ko) ====

@@ -1,5 +1,5 @@
 #	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
-# $FreeBSD: src/etc/Makefile,v 1.375 2009/06/07 13:26:57 edwin Exp $
+# $FreeBSD: src/etc/Makefile,v 1.376 2009/09/02 14:54:47 flz Exp $
 
 .include <bsd.own.mk>
 
@@ -99,8 +99,7 @@
 # -rwxr-xr-x root:wheel, for the new cron root:wheel
 BIN2=	netstart pccard_ether rc.suspend rc.resume
 
-MTREE=	BSD.include.dist BSD.local.dist BSD.root.dist BSD.usr.dist \
-	BSD.var.dist BSD.x11.dist BSD.x11-4.dist
+MTREE=	BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist
 .if ${MK_SENDMAIL} != "no"
 MTREE+=	BSD.sendmail.dist
 .endif

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#9 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_calc_mask.c,v 1.10 2009/06/25 12:46:59 trasz Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_calc_mask.c,v 1.11 2009/09/01 18:30:17 trasz Exp $");
 
 #include <sys/types.h>
 #include "namespace.h"
@@ -50,12 +50,6 @@
 	acl_t		acl_new;
 	int		i, mask_mode, mask_num;
 
-	if (!_acl_brand_may_be(*acl_p, ACL_BRAND_POSIX)) {
-		errno = EINVAL;
-		return (-1);
-	}
-	_acl_brand_as(*acl_p, ACL_BRAND_POSIX);
-
 	/*
 	 * (23.4.2.4) requires acl_p to point to a pointer to a valid ACL.
 	 * Since one of the primary reasons to use this function would be
@@ -67,6 +61,13 @@
 		errno = EINVAL;
 		return (-1);
 	}
+
+	if (!_acl_brand_may_be(*acl_p, ACL_BRAND_POSIX)) {
+		errno = EINVAL;
+		return (-1);
+	}
+	_acl_brand_as(*acl_p, ACL_BRAND_POSIX);
+
 	acl_int = &(*acl_p)->ats_acl;
 	if ((acl_int->acl_cnt < 3) || (acl_int->acl_cnt > ACL_MAX_ENTRIES)) {
 		errno = EINVAL;

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#11 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_to_text.c,v 1.12 2009/06/25 12:46:59 trasz Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_to_text.c,v 1.13 2009/09/01 18:30:17 trasz Exp $");
 
 #include <sys/types.h>
 #include "namespace.h"
@@ -70,11 +70,6 @@
 	if (buf == NULL)
 		return(NULL);
 
-	if (acl == NULL) {
-		errno = EINVAL;
-		return(NULL);
-	}
-
 	acl_int = &acl->ats_acl;
 
 	mask_perm = ACL_PERM_BITS;	/* effective is regular if no mask */
@@ -243,6 +238,11 @@
 acl_to_text_np(acl_t acl, ssize_t *len_p, int flags)
 {
 
+	if (acl == NULL) {
+		errno = EINVAL;
+		return(NULL);
+	}
+
 	switch (_acl_brand(acl)) {
 	case ACL_BRAND_POSIX:
 		return (_posix1e_acl_to_text(acl, len_p, flags));

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdtime/strptime.c#3 (text+ko) ====

@@ -59,7 +59,7 @@
 static char sccsid[] __unused = "@(#)strptime.c	0.1 (Powerdog) 94/03/27";
 #endif /* !defined NOID */
 #endif /* not lint */
-__FBSDID("$FreeBSD: src/lib/libc/stdtime/strptime.c,v 1.36 2009/06/25 23:59:23 delphij Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdtime/strptime.c,v 1.37 2009/09/02 04:56:30 ache Exp $");
 
 #include "namespace.h"
 #include <time.h>
@@ -529,7 +529,7 @@
 			buf++;
 			i = 0;
 			for (len = 4; len > 0; len--) {
-				if (isdigit((int)*buf)) {
+				if (isdigit((unsigned char)*buf)) {
 					i *= 10;
 					i += *buf - '0';
 					buf++;

==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/local_apic.c#13 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.60 2009/08/14 21:05:08 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $");
 
 #include "opt_hwpmc_hooks.h"
 #include "opt_kdtrace.h"
@@ -990,18 +990,21 @@
 	 * we don't lose an interrupt delivery race.
 	 */
 	td = curthread;
-	thread_lock(td);
-	if (sched_is_bound(td))
-		panic("apic_free_vector: Thread already bound.\n");
-	sched_bind(td, apic_cpuid(apic_id));
-	thread_unlock(td);
+	if (!rebooting) {
+		thread_lock(td);
+		if (sched_is_bound(td))
+			panic("apic_free_vector: Thread already bound.\n");
+		sched_bind(td, apic_cpuid(apic_id));
+		thread_unlock(td);
+	}
 	mtx_lock_spin(&icu_lock);
 	lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
 	mtx_unlock_spin(&icu_lock);
-	thread_lock(td);
-	sched_unbind(td);
-	thread_unlock(td);
-
+	if (!rebooting) {
+		thread_lock(td);
+		sched_unbind(td);
+		thread_unlock(td);
+	}
 }
 
 /* Map an IDT vector (APIC) to an IRQ (interrupt source). */

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_core.c#5 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_core.c,v 1.5 2009/08/14 21:05:08 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_core.c,v 1.6 2009/09/01 17:55:37 gnn Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -1182,6 +1182,29 @@
     IAPDESCR(DBH_01H, 0xDB, 0x01, IAP_F_FM | IAP_F_I7),
     IAPDESCR(E4H_01H, 0xE4, 0x01, IAP_F_FM | IAP_F_I7),
     IAPDESCR(E5H_01H, 0xE5, 0x01, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(E6H_01H, 0xE6, 0x01, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(E6H_02H, 0xE6, 0x02, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(E8H_01H, 0xE8, 0x01, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(E8H_02H, 0xE8, 0x02, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(E8H_03H, 0xE8, 0x03, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_01H, 0xF0, 0x01, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_02H, 0xF0, 0x02, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_04H, 0xF0, 0x04, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_08H, 0xF0, 0x08, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_10H, 0xF0, 0x10, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_20H, 0xF0, 0x20, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_40H, 0xF0, 0x40, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F0H_80H, 0xF0, 0x80, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F1H_02H, 0xF1, 0x02, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F1H_04H, 0xF1, 0x04, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F1H_07H, 0xF1, 0x07, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F2H_01H, 0xF2, 0x01, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F2H_02H, 0xF2, 0x02, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F2H_04H, 0xF2, 0x04, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F2H_08H, 0xF2, 0x08, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F2H_0FH, 0xF2, 0x0F, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F3H_01H, 0xF3, 0x01, IAP_F_FM | IAP_F_I7),
+    IAPDESCR(F3H_02H, 0xF3, 0x02, IAP_F_FM | IAP_F_I7),
     IAPDESCR(F3H_04H, 0xF3, 0x04, IAP_F_FM | IAP_F_I7),
     IAPDESCR(F3H_08H, 0xF3, 0x08, IAP_F_FM | IAP_F_I7),
     IAPDESCR(F3H_10H, 0xF3, 0x10, IAP_F_FM | IAP_F_I7),

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/pmc_events.h#6 (text+ko) ====

@@ -23,14 +23,24 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/hwpmc/pmc_events.h,v 1.9 2009/01/27 07:29:37 jeff Exp $
+ * $FreeBSD: src/sys/dev/hwpmc/pmc_events.h,v 1.10 2009/09/01 17:55:37 gnn Exp $
  */
 
 #ifndef _DEV_HWPMC_PMC_EVENTS_H_
 #define	_DEV_HWPMC_PMC_EVENTS_H_
 
-/*
- * PMC event codes.
+/* 
+ * Note: Documentation on adding events can be found both in
+ * the source tree at src/share/doc/papers/hwpmc/hwpmc.ms
+ * as well as on-line at:
+ *
+ * http://wiki.freebsd.org/PmcTools/PmcHardwareHowTo
+ *
+ * Please refer to those resources before you attempt to modify
+ * this file or the hwpmc driver/subsystem.
+ */
+
+/* * PMC event codes.
  *
  * __PMC_EV(CLASS, SYMBOLIC-NAME)
  *
@@ -973,7 +983,30 @@
 __PMC_EV(IAP, EVENT_FDH_08H)			\
 __PMC_EV(IAP, EVENT_FDH_10H)			\
 __PMC_EV(IAP, EVENT_FDH_20H)			\
-__PMC_EV(IAP, EVENT_FDH_40H)
+__PMC_EV(IAP, EVENT_FDH_40H)			\
+__PMC_EV(IAP, EVENT_E6H_02H)			\
+__PMC_EV(IAP, EVENT_E8H_01H)			\
+__PMC_EV(IAP, EVENT_E8H_02H)			\
+__PMC_EV(IAP, EVENT_E8H_03H)			\
+__PMC_EV(IAP, EVENT_F0H_01H)			\
+__PMC_EV(IAP, EVENT_F0H_02H)			\
+__PMC_EV(IAP, EVENT_F0H_04H)			\
+__PMC_EV(IAP, EVENT_F0H_08H)			\
+__PMC_EV(IAP, EVENT_F0H_10H)			\
+__PMC_EV(IAP, EVENT_F0H_20H)			\
+__PMC_EV(IAP, EVENT_F0H_40H)			\
+__PMC_EV(IAP, EVENT_F0H_80H)			\
+__PMC_EV(IAP, EVENT_F1H_02H)			\
+__PMC_EV(IAP, EVENT_F1H_04H)			\
+__PMC_EV(IAP, EVENT_F1H_07H)			\
+__PMC_EV(IAP, EVENT_F2H_01H)			\
+__PMC_EV(IAP, EVENT_F2H_02H)			\
+__PMC_EV(IAP, EVENT_F2H_04H)			\
+__PMC_EV(IAP, EVENT_F2H_08H)			\
+__PMC_EV(IAP, EVENT_F2H_0FH)			\
+__PMC_EV(IAP, EVENT_F3H_01H)			\
+__PMC_EV(IAP, EVENT_F3H_02H)			
+
 
 #define	PMC_EV_IAP_FIRST	PMC_EV_IAP_EVENT_02H_81H
 #define	PMC_EV_IAP_LAST		PMC_EV_IAP_EVENT_FDH_40H
@@ -1894,6 +1927,29 @@
 __PMC_EV_ALIAS("BR_INST_DECODED",			IAP_EVENT_E0H_01H) \
 __PMC_EV_ALIAS("BOGUS_BR",				IAP_EVENT_E4H_01H) \
 __PMC_EV_ALIAS("BPU_MISSED_CALL_RET",			IAP_EVENT_E5H_01H) \
+__PMC_EV_ALIAS("BACLEAR.CLEAR",				IAP_EVENT_E6H_01H) \
+__PMC_EV_ALIAS("BACLEAR.BAD_TARGET",			IAP_EVENT_E6H_02H) \
+__PMC_EV_ALIAS("BPU_CLEARS.EARLY",			IAP_EVENT_E8H_01H) \
+__PMC_EV_ALIAS("BPU_CLEARS.LATE",			IAP_EVENT_E8H_02H) \
+__PMC_EV_ALIAS("BPU_CLEARS.ANY",			IAP_EVENT_E8H_03H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.LOAD",			IAP_EVENT_F0H_01H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.RFO",			IAP_EVENT_F0H_02H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.IFETCH",		IAP_EVENT_F0H_04H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.PREFETCH",		IAP_EVENT_F0H_08H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.L1D_WB",		IAP_EVENT_F0H_10H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.FILL",			IAP_EVENT_F0H_20H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.WB",			IAP_EVENT_F0H_40H) \
+__PMC_EV_ALIAS("L2_TRANSACTIONS.ANY",			IAP_EVENT_F0H_80H) \
+__PMC_EV_ALIAS("L2_LINES_IN.S_STATE",			IAP_EVENT_F1H_02H) \
+__PMC_EV_ALIAS("L2_LINES_IN.E_STATE",			IAP_EVENT_F1H_04H) \
+__PMC_EV_ALIAS("L2_LINES_IN.ANY",			IAP_EVENT_F1H_07H) \
+__PMC_EV_ALIAS("L2_LINES_OUT.DEMAND_CLEAN",		IAP_EVENT_F2H_01H) \
+__PMC_EV_ALIAS("L2_LINES_OUT.DEMAND_DIRTY",		IAP_EVENT_F2H_02H) \
+__PMC_EV_ALIAS("L2_LINES_OUT.PREFETCH_CLEAN",		IAP_EVENT_F2H_04H) \
+__PMC_EV_ALIAS("L2_LINES_OUT.PREFETCH_DIRTY",		IAP_EVENT_F2H_08H) \
+__PMC_EV_ALIAS("L2_LINES_OUT.ANY",			IAP_EVENT_F2H_0FH) \
+__PMC_EV_ALIAS("L2_HW_PREFETCH.HIT",			IAP_EVENT_F3H_01H) \
+__PMC_EV_ALIAS("L2_HW_PREFETCH.ALLOC",			IAP_EVENT_F3H_02H) \
 __PMC_EV_ALIAS("L2_HW_PREFETCH.DATA_TRIGGER",		IAP_EVENT_F3H_04H) \
 __PMC_EV_ALIAS("L2_HW_PREFETCH.CODE_TRIGGER",		IAP_EVENT_F3H_08H) \
 __PMC_EV_ALIAS("L2_HW_PREFETCH.DCA_TRIGGER",		IAP_EVENT_F3H_10H) \

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/pci/hda/hdac.c#27 (text+ko) ====

@@ -89,7 +89,7 @@
 
 #define HDA_DRV_TEST_REV	"20090624_0136"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.110 2009/08/20 19:17:53 jhb Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.111 2009/09/02 11:39:19 mav Exp $");
 
 #define HDA_BOOTVERBOSE(stmt)	do {			\
 	if (bootverbose != 0 || snd_verbose > 3) {	\
@@ -1520,7 +1520,7 @@
 	sc->num_iss = HDAC_GCAP_ISS(gcap);
 	sc->num_oss = HDAC_GCAP_OSS(gcap);
 	sc->num_bss = HDAC_GCAP_BSS(gcap);
-
+	sc->num_sdo = HDAC_GCAP_NSDO(gcap);
 	sc->support_64bit = HDA_FLAG_MATCH(gcap, HDAC_GCAP_64OK);
 
 	corbsize = HDAC_READ_1(&sc->mem, HDAC_CORBSIZE);
@@ -1555,11 +1555,12 @@
 		return (ENXIO);
 	}
 
-	HDA_BOOTHVERBOSE(
-		device_printf(sc->dev, "    CORB size: %d\n", sc->corb_size);
-		device_printf(sc->dev, "    RIRB size: %d\n", sc->rirb_size);
-		device_printf(sc->dev, "      Streams: ISS=%d OSS=%d BSS=%d\n",
-		    sc->num_iss, sc->num_oss, sc->num_bss);
+	HDA_BOOTVERBOSE(
+		device_printf(sc->dev, "Caps: OSS %d, ISS %d, BSS %d, "
+		    "NSDO %d%s, CORB %d, RIRB %d\n",
+		    sc->num_oss, sc->num_iss, sc->num_bss, 1 << sc->num_sdo,
+		    sc->support_64bit ? ", 64bit" : "",
+		    sc->corb_size, sc->rirb_size);
 	);
 
 	return (0);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/pci/hda/hdac_private.h#4 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/sound/pci/hda/hdac_private.h,v 1.10 2008/11/23 20:03:58 mav Exp $
+ * $FreeBSD: src/sys/dev/sound/pci/hda/hdac_private.h,v 1.11 2009/09/02 11:39:19 mav Exp $
  */
 
 #ifndef _HDAC_PRIVATE_H_
@@ -339,6 +339,7 @@
 	int		num_iss;
 	int		num_oss;
 	int		num_bss;
+	int		num_sdo;
 	int		support_64bit;
 	int		streamcnt;
 

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/pci/hda/hdac_reg.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/sound/pci/hda/hdac_reg.h,v 1.1 2006/10/01 11:12:59 ariff Exp $
+ * $FreeBSD: src/sys/dev/sound/pci/hda/hdac_reg.h,v 1.2 2009/09/02 11:39:19 mav Exp $
  */
 
 #ifndef _HDAC_REG_H_
@@ -136,6 +136,8 @@
 	(((gcap) & HDAC_GCAP_ISS_MASK) >> HDAC_GCAP_ISS_SHIFT)
 #define HDAC_GCAP_OSS(gcap)						\
 	(((gcap) & HDAC_GCAP_OSS_MASK) >> HDAC_GCAP_OSS_SHIFT)
+#define HDAC_GCAP_NSDO(gcap)						\
+	(((gcap) & HDAC_GCAP_NSDO_MASK) >> HDAC_GCAP_NSDO_SHIFT)
 
 /* GCTL - Global Control */
 #define HDAC_GCTL_CRST			0x00000001

==== //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/local_apic.c#14 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.63 2009/08/14 21:05:08 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.64 2009/09/02 00:39:59 jhb Exp $");
 
 #include "opt_hwpmc_hooks.h"
 #include "opt_kdtrace.h"
@@ -994,18 +994,21 @@
 	 * we don't lose an interrupt delivery race.
 	 */
 	td = curthread;
-	thread_lock(td);
-	if (sched_is_bound(td))
-		panic("apic_free_vector: Thread already bound.\n");
-	sched_bind(td, apic_cpuid(apic_id));
-	thread_unlock(td);
+	if (!rebooting) {
+		thread_lock(td);
+		if (sched_is_bound(td))
+			panic("apic_free_vector: Thread already bound.\n");
+		sched_bind(td, apic_cpuid(apic_id));
+		thread_unlock(td);
+	}
 	mtx_lock_spin(&icu_lock);
 	lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
 	mtx_unlock_spin(&icu_lock);
-	thread_lock(td);
-	sched_unbind(td);
-	thread_unlock(td);
-
+	if (!rebooting) {
+		thread_lock(td);
+		sched_unbind(td);
+		thread_unlock(td);
+	}
 }
 
 /* Map an IDT vector (APIC) to an IRQ (interrupt source). */

==== //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/if_ether.c#22 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/if_ether.c,v 1.208 2009/08/01 19:26:27 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/if_ether.c,v 1.209 2009/09/01 17:53:01 bz Exp $");
 
 #include "opt_inet.h"
 #include "opt_carp.h"
@@ -462,11 +462,11 @@
 	struct rtentry *rt;
 	struct ifaddr *ifa;
 	struct in_ifaddr *ia;
+	struct mbuf *hold;
 	struct sockaddr sa;
 	struct in_addr isaddr, itaddr, myaddr;
 	u_int8_t *enaddr = NULL;
 	int op, flags;
-	struct mbuf *m0;
 	int req_len;
 	int bridged = 0, is_bridge = 0;
 #ifdef DEV_CARP
@@ -631,11 +631,13 @@
 				    la->lle_tbl->llt_ifp->if_xname,
 				    ifp->if_addrlen, (u_char *)ar_sha(ah), ":",
 				    ifp->if_xname);
+			LLE_WUNLOCK(la);
 			goto reply;
 		}
 		if ((la->la_flags & LLE_VALID) &&
 		    bcmp(ar_sha(ah), &la->ll_addr, ifp->if_addrlen)) {
 			if (la->la_flags & LLE_STATIC) {
+				LLE_WUNLOCK(la);
 				log(LOG_ERR,
 				    "arp: %*D attempts to modify permanent "
 				    "entry for %s on %s\n",
@@ -655,6 +657,7 @@
 		}
 		    
 		if (ifp->if_addrlen != ah->ar_hln) {
+			LLE_WUNLOCK(la);
 			log(LOG_WARNING,
 			    "arp from %*D: addr len: new %d, i/f %d (ignored)",
 			    ifp->if_addrlen, (u_char *) ar_sha(ah), ":",
@@ -671,15 +674,14 @@
 		}
 		la->la_asked = 0;
 		la->la_preempt = V_arp_maxtries;
-		if (la->la_hold != NULL) {
-			m0 = la->la_hold;
-			la->la_hold = 0;
+		hold = la->la_hold;
+		if (hold != NULL) {
+			la->la_hold = NULL;
 			memcpy(&sa, L3_ADDR(la), sizeof(sa));
-			LLE_WUNLOCK(la);
-			
-			(*ifp->if_output)(ifp, m0, &sa, NULL);
-			return;
 		}
+		LLE_WUNLOCK(la);
+		if (hold != NULL)
+			(*ifp->if_output)(ifp, hold, &sa, NULL);
 	}
 reply:
 	if (op != ARPOP_REQUEST)
@@ -750,8 +752,6 @@
 #endif
 	}
 
-	if (la != NULL)
-		LLE_WUNLOCK(la);
 	if (itaddr.s_addr == myaddr.s_addr &&
 	    IN_LINKLOCAL(ntohl(itaddr.s_addr))) {
 		/* RFC 3927 link-local IPv4; always reply by broadcast. */
@@ -777,8 +777,6 @@
 	return;
 
 drop:
-	if (la != NULL)
-		LLE_WUNLOCK(la);
 	m_freem(m);
 }
 #endif

==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-posix.test#11 (text+ko) ====

@@ -5,7 +5,7 @@
 #
 # WARNING: Creates files in unsafe way.
 #
-# $FreeBSD: src/tools/regression/acltools/tools-posix.test,v 1.4 2009/08/31 20:11:35 trasz Exp $
+# $FreeBSD: src/tools/regression/acltools/tools-posix.test,v 1.5 2009/09/01 15:51:36 trasz Exp $
 
 $ whoami
 > root

==== //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pkg_install/lib/lib.h#9 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/usr.sbin/pkg_install/lib/lib.h,v 1.75 2009/08/31 17:50:33 dougb Exp $ */
+/* $FreeBSD: src/usr.sbin/pkg_install/lib/lib.h,v 1.76 2009/09/02 13:58:15 flz Exp $ */
 
 /*
  * FreeBSD install - a package for the installation and maintainance
@@ -102,10 +102,10 @@
 #define PKG_PREFIX_VNAME	"PKG_PREFIX"
 
 /*
- * Version of the package tools - increase only when some
- * functionality used by bsd.port.mk is changed, added or removed
+ * Version of the package tools - increase whenever you make a change
+ * in the code that is not cosmetic only.
  */
-#define PKG_INSTALL_VERSION	20090519
+#define PKG_INSTALL_VERSION	20090902
 
 #define PKG_WRAPCONF_FNAME	"/var/db/pkg_install.conf"
 #define main(argc, argv)	real_main(argc, argv)



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