Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Feb 2015 10:10:57 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r278312 - in projects/building-blocks: etc/rc.d lib/csu/powerpc64 lib/libc/gen lib/libc/stdlib lib/libdevinfo lib/libnetgraph release/doc/en_US.ISO8859-1/errata release/doc/en_US.ISO885...
Message-ID:  <201502061010.t16AAvnA020684@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Fri Feb  6 10:10:57 2015
New Revision: 278312
URL: https://svnweb.freebsd.org/changeset/base/278312

Log:
  MFhead @r278311

Added:
  projects/building-blocks/release/doc/share/xml/errata.xml
     - copied unchanged from r278311, head/release/doc/share/xml/errata.xml
  projects/building-blocks/release/doc/share/xml/security.xml
     - copied unchanged from r278311, head/release/doc/share/xml/security.xml
  projects/building-blocks/sys/contrib/vchiq/
     - copied from r278311, head/sys/contrib/vchiq/
  projects/building-blocks/sys/dev/cxgbe/if_cxl.c
     - copied unchanged from r278311, head/sys/dev/cxgbe/if_cxl.c
  projects/building-blocks/sys/modules/cxgbe/if_cxl/
     - copied from r278311, head/sys/modules/cxgbe/if_cxl/
  projects/building-blocks/tools/tools/qrndtest/
     - copied from r278311, head/tools/tools/qrndtest/
Modified:
  projects/building-blocks/etc/rc.d/routing
  projects/building-blocks/lib/csu/powerpc64/Makefile
  projects/building-blocks/lib/libc/gen/disklabel.c
  projects/building-blocks/lib/libc/stdlib/tdelete.c
  projects/building-blocks/lib/libdevinfo/devinfo.h
  projects/building-blocks/lib/libnetgraph/debug.c
  projects/building-blocks/release/doc/en_US.ISO8859-1/errata/article.xml
  projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/building-blocks/release/doc/share/xml/release.ent
  projects/building-blocks/sbin/ipfw/ipfw2.c
  projects/building-blocks/sys/arm/broadcom/bcm2835/files.bcm2835
  projects/building-blocks/sys/boot/amd64/boot1.efi/fat.tmpl.bz2.uu
  projects/building-blocks/sys/boot/amd64/boot1.efi/generate-fat.sh
  projects/building-blocks/sys/conf/kern.pre.mk
  projects/building-blocks/sys/dev/uart/uart_bus_pci.c
  projects/building-blocks/sys/dev/vt/hw/vga/vt_vga.c
  projects/building-blocks/sys/kern/subr_bus.c
  projects/building-blocks/sys/modules/cxgbe/Makefile
  projects/building-blocks/sys/netinet6/in6.c
  projects/building-blocks/sys/netpfil/ipfw/ip_fw_iface.c   (contents, props changed)
  projects/building-blocks/sys/netpfil/ipfw/ip_fw_nat.c
  projects/building-blocks/sys/netpfil/ipfw/ip_fw_private.h
  projects/building-blocks/sys/netpfil/ipfw/ip_fw_table.c
  projects/building-blocks/sys/netpfil/ipfw/ip_fw_table_algo.c
  projects/building-blocks/sys/sys/bus.h
  projects/building-blocks/sys/sys/systm.h
  projects/building-blocks/sys/ufs/ffs/ffs_softdep.c
  projects/building-blocks/usr.sbin/devinfo/devinfo.c
  projects/building-blocks/usr.sbin/syslogd/syslogd.c
Directory Properties:
  projects/building-blocks/   (props changed)
  projects/building-blocks/etc/   (props changed)
  projects/building-blocks/lib/libc/   (props changed)
  projects/building-blocks/sbin/   (props changed)
  projects/building-blocks/sbin/ipfw/   (props changed)
  projects/building-blocks/sys/   (props changed)
  projects/building-blocks/sys/boot/   (props changed)
  projects/building-blocks/sys/conf/   (props changed)

Modified: projects/building-blocks/etc/rc.d/routing
==============================================================================
--- projects/building-blocks/etc/rc.d/routing	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/etc/rc.d/routing	Fri Feb  6 10:10:57 2015	(r278312)
@@ -165,13 +165,14 @@ static_inet()
 
 static_inet6()
 {
-	local _action _if _skip fibmod fibs
+	local _action _if _skip fibmod fibs allfibs
 	_action=$1
 	_if=$2
 
 	# get the number of FIBs supported.
 	fibs=$((`${SYSCTL_N} net.fibs` - 1))
-	if [ "$fibs" -gt 0 ]; then
+	allfibs=`${SYSCTL_N} net.add_addr_allfibs`
+	if [ "$fibs" -gt 0 ] && [ "$allfibs" -ne 0 ]; then
 		fibmod="-fib 0-$fibs"
 	else
 		fibmod=

Modified: projects/building-blocks/lib/csu/powerpc64/Makefile
==============================================================================
--- projects/building-blocks/lib/csu/powerpc64/Makefile	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/lib/csu/powerpc64/Makefile	Fri Feb  6 10:10:57 2015	(r278312)
@@ -9,6 +9,10 @@ CFLAGS+=	-I${.CURDIR}/../common \
 		-I${.CURDIR}/../../libc/include \
 		-mlongcall
 
+# XXX: See the log for r232932 as to why the above -mlongcall is needed.  Since
+# clang doesn't support -mlongcall, and testing shows a clang linked with a
+# clang-built csu segfaults, this must currently be compiled with gcc.  Once
+# clang supports -mlongcall, or we get a fixed ld, this can be revisited.
 CC:=		gcc
 COMPILER_TYPE:=	gcc
 

Modified: projects/building-blocks/lib/libc/gen/disklabel.c
==============================================================================
--- projects/building-blocks/lib/libc/gen/disklabel.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/lib/libc/gen/disklabel.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -85,10 +85,13 @@ getdiskbyname(const char *name)
 		cq++, cp++;
 	*cq = '\0';
 
-	if (cgetstr(buf, "ty", &cq) > 0 && strcmp(cq, "removable") == 0)
-		dp->d_flags |= D_REMOVABLE;
-	else  if (cq && strcmp(cq, "simulated") == 0)
-		dp->d_flags |= D_RAMDISK;
+	if (cgetstr(buf, "ty", &cq) > 0) {
+		if (strcmp(cq, "removable") == 0)
+			dp->d_flags |= D_REMOVABLE;
+		else  if (cq && strcmp(cq, "simulated") == 0)
+			dp->d_flags |= D_RAMDISK;
+		free(cq);
+	}
 	if (cgetcap(buf, "sf", ':') != NULL)
 		dp->d_flags |= D_BADSECT;
 
@@ -100,9 +103,10 @@ getdiskbyname(const char *name)
 	getnumdflt(dp->d_nsectors, "ns", 0);
 	getnumdflt(dp->d_ncylinders, "nc", 0);
 
-	if (cgetstr(buf, "dt", &cq) > 0)
+	if (cgetstr(buf, "dt", &cq) > 0) {
 		dp->d_type = gettype(cq, dktypenames);
-	else
+		free(cq);
+	} else
 		getnumdflt(dp->d_type, "dt", 0);
 	getnumdflt(dp->d_secpercyl, "sc", dp->d_nsectors * dp->d_ntracks);
 	getnumdflt(dp->d_secperunit, "su", dp->d_secpercyl * dp->d_ncylinders);
@@ -140,8 +144,11 @@ getdiskbyname(const char *name)
 					pp->p_frag = 8;
 			}
 			getnumdflt(pp->p_fstype, ptype, 0);
-			if (pp->p_fstype == 0 && cgetstr(buf, ptype, &cq) > 0)
-				pp->p_fstype = gettype(cq, fstypenames);
+			if (pp->p_fstype == 0)
+				if (cgetstr(buf, ptype, &cq) >= 0) {
+					pp->p_fstype = gettype(cq, fstypenames);
+					free(cq);
+				}
 			max = p;
 		}
 	}
@@ -155,5 +162,6 @@ getdiskbyname(const char *name)
 	dp->d_magic = DISKMAGIC;
 	dp->d_magic2 = DISKMAGIC;
 	free(buf);
+	(void)cgetclose();
 	return (dp);
 }

Modified: projects/building-blocks/lib/libc/stdlib/tdelete.c
==============================================================================
--- projects/building-blocks/lib/libc/stdlib/tdelete.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/lib/libc/stdlib/tdelete.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -65,7 +65,8 @@ tdelete(const void * __restrict vkey, vo
 			q->rlink = (*rootp)->rlink;
 		}
 	}
-	free(*rootp);				/* D4: Free node */
+	if (p != *rootp)
+		free(*rootp);			/* D4: Free node */
 	*rootp = q;				/* link parent to new node */
 	return p;
 }

Modified: projects/building-blocks/lib/libdevinfo/devinfo.h
==============================================================================
--- projects/building-blocks/lib/libdevinfo/devinfo.h	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/lib/libdevinfo/devinfo.h	Fri Feb  6 10:10:57 2015	(r278312)
@@ -50,7 +50,7 @@ struct devinfo_dev {
 	char			*dd_location;	/* Where bus thinks dev at */
 	uint32_t		dd_devflags;	/* API flags */
 	uint16_t		dd_flags;	/* internal dev flags */
-	devinfo_state_t		dd_state;	/* attacement state of dev */
+	devinfo_state_t		dd_state;	/* attachment state of dev */
 };
 
 struct devinfo_rman {

Modified: projects/building-blocks/lib/libnetgraph/debug.c
==============================================================================
--- projects/building-blocks/lib/libnetgraph/debug.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/lib/libnetgraph/debug.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -62,12 +62,15 @@ __FBSDID("$FreeBSD$");
 #include <netgraph/ng_atmllc.h>
 #include <netgraph/ng_bpf.h>
 #include <netgraph/ng_bridge.h>
+#include <netgraph/ng_car.h>
 #include <netgraph/ng_cisco.h>
+#include <netgraph/ng_deflate.h>
 #include <netgraph/ng_device.h>
 #include <netgraph/ng_echo.h>
 #include <netgraph/ng_eiface.h>
 #include <netgraph/ng_etf.h>
 #include <netgraph/ng_ether.h>
+#include <netgraph/ng_ether_echo.h>
 #include <netgraph/ng_frame_relay.h>
 #include <netgraph/ng_gif.h>
 #include <netgraph/ng_gif_demux.h>
@@ -81,15 +84,20 @@ __FBSDID("$FreeBSD$");
 #include <netgraph/ng_lmi.h>
 #include <netgraph/ng_mppc.h>
 #include <netgraph/ng_nat.h>
+#include <netgraph/netflow/ng_netflow.h>
 #include <netgraph/ng_one2many.h>
+#include <netgraph/ng_patch.h>
+#include <netgraph/ng_pipe.h>
 #include <netgraph/ng_ppp.h>
 #include <netgraph/ng_pppoe.h>
 #include <netgraph/ng_pptpgre.h>
+#include <netgraph/ng_pred1.h>
 #include <netgraph/ng_rfc1490.h>
 #include <netgraph/ng_socket.h>
 #include <netgraph/ng_source.h>
 #include <netgraph/ng_split.h>
 #include <netgraph/ng_sppp.h>
+#include <netgraph/ng_tag.h>
 #include <netgraph/ng_tcpmss.h>
 #include <netgraph/ng_tee.h>
 #include <netgraph/ng_tty.h>
@@ -129,12 +137,15 @@ static const struct ng_cookie cookies[] 
 	COOKIE(ATMLLC),
 	COOKIE(BPF),
 	COOKIE(BRIDGE),
+	COOKIE(CAR),
 	COOKIE(CISCO),
+	COOKIE(DEFLATE),
 	COOKIE(DEVICE),
 	COOKIE(ECHO),
 	COOKIE(EIFACE),
 	COOKIE(ETF),
 	COOKIE(ETHER),
+	COOKIE(ETHER_ECHO),
 	COOKIE(FRAMERELAY),
 	COOKIE(GIF),
 	COOKIE(GIF_DEMUX),
@@ -149,15 +160,20 @@ static const struct ng_cookie cookies[] 
 	COOKIE(LMI),
 	COOKIE(MPPC),
 	COOKIE(NAT),
+	COOKIE(NETFLOW),
 	COOKIE(ONE2MANY),
+	COOKIE(PATCH),
+	COOKIE(PIPE),
 	COOKIE(PPP),
 	COOKIE(PPPOE),
 	COOKIE(PPTPGRE),
+	COOKIE(PRED1),
 	COOKIE(RFC1490),
 	COOKIE(SOCKET),
 	COOKIE(SOURCE),
 	COOKIE(SPLIT),
 	COOKIE(SPPP),
+	COOKIE(TAG),
 	COOKIE(TCPMSS),
 	COOKIE(TEE),
 	COOKIE(TTY),
@@ -181,9 +197,8 @@ NgSetDebug(int level)
 {
 	int old = _gNgDebugLevel;
 
-	if (level < 0)
-		level = old;
-	_gNgDebugLevel = level;
+	if (level >= 0)
+		_gNgDebugLevel = level;
 	return (old);
 }
 
@@ -225,10 +240,10 @@ _NgDebugMsg(const struct ng_mesg *msg, c
 	/* Display header stuff */
 	NGLOGX("NG_MESG :");
 	NGLOGX("  vers   %d", msg->header.version);
-	NGLOGX("  arglen %d", msg->header.arglen);
-	NGLOGX("  flags  %ld", msg->header.flags);
-	NGLOGX("  token  %lu", (u_long)msg->header.token);
-	NGLOGX("  cookie %s (%d)",
+	NGLOGX("  arglen %u", msg->header.arglen);
+	NGLOGX("  flags  %x", msg->header.flags);
+	NGLOGX("  token  %u", msg->header.token);
+	NGLOGX("  cookie %s (%u)",
 	    NgCookie(msg->header.typecookie), msg->header.typecookie);
 
 	/* At lower debugging levels, skip ASCII translation */

Modified: projects/building-blocks/release/doc/en_US.ISO8859-1/errata/article.xml
==============================================================================
--- projects/building-blocks/release/doc/en_US.ISO8859-1/errata/article.xml	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/release/doc/en_US.ISO8859-1/errata/article.xml	Fri Feb  6 10:10:57 2015	(r278312)
@@ -4,6 +4,8 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN"
         "http://www.FreeBSD.org/release/XML/release.ent">;
 %release;
+<!ENTITY security SYSTEM "../../share/xml/security.xml">
+<!ENTITY errata SYSTEM "../../share/xml/errata.xml">
 ]>
 
 <article xmlns="http://docbook.org/ns/docbook"
@@ -17,7 +19,7 @@
     <pubdate>$FreeBSD$</pubdate>
 
     <copyright>
-      <year>2014</year>
+      <year>2015</year>
 
       <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
     </copyright>
@@ -76,7 +78,13 @@
   <sect1 xml:id="security">
     <title>Security Advisories</title>
 
-    <para>No advisory.</para>
+    &security;
+  </sect1>
+
+  <sect1 xml:id="errata">
+    <title>Errata Notices</title>
+
+    &errata;
   </sect1>
 
   <sect1 xml:id="open-issues">

Modified: projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml
==============================================================================
--- projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml	Fri Feb  6 10:10:57 2015	(r278312)
@@ -7,6 +7,8 @@
  %sponsor;
 <!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
  %vendor;
+<!ENTITY security SYSTEM "../../share/xml/security.xml">
+<!ENTITY errata SYSTEM "../../share/xml/errata.xml">
 ]>
 <article xmlns="http://docbook.org/ns/docbook"
   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
@@ -138,15 +140,13 @@
     <sect2 xml:id="security">
       <title>Security Advisories</title>
 
-      <para>No advisories.</para>
-
+      &security;
     </sect2>
 
     <sect2 xml:id="errata">
       <title>Errata Notices</title>
 
-      <para>No errata notices.</para>
-
+      &errata;
     </sect2>
   </sect1>
 

Copied: projects/building-blocks/release/doc/share/xml/errata.xml (from r278311, head/release/doc/share/xml/errata.xml)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/building-blocks/release/doc/share/xml/errata.xml	Fri Feb  6 10:10:57 2015	(r278312, copy of r278311, head/release/doc/share/xml/errata.xml)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+     The FreeBSD Documentation Project
+
+     $FreeBSD$
+-->
+<informaltable frame="none" pgwide="1">
+  <tgroup cols="3">
+    <colspec colwidth="40%"/>
+    <colspec colwidth="30%"/>
+    <colspec colwidth="30%"/>
+    <thead>
+      <row>
+	<entry>Errata</entry>
+	<entry>Date</entry>
+	<entry>Topic</entry>
+      </row>
+    </thead>
+
+    <tbody>
+      <row>
+	<entry><para>No errata notices.</para></entry>
+	<entry><para>&nbsp;</para></entry>
+	<entry><para>&nbsp;</para></entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>

Modified: projects/building-blocks/release/doc/share/xml/release.ent
==============================================================================
--- projects/building-blocks/release/doc/share/xml/release.ent	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/release/doc/share/xml/release.ent	Fri Feb  6 10:10:57 2015	(r278312)
@@ -16,7 +16,7 @@
 <!-- The previous stable release, useful for pointing user's at the
      release they SHOULD be running if they don't want the bleeding
      edge. -->
-<!ENTITY release.prev.stable "9.2-RELEASE">
+<!ENTITY release.prev.stable "9.3-RELEASE">
 
 <!-- The next version to be released, usually used for snapshots. -->
 <!ENTITY release.next "11.0-RELEASE">
@@ -25,7 +25,10 @@
 <!ENTITY release.branch "11-CURRENT">
 
 <!-- The URL for obtaining this version of FreeBSD. -->
-<!ENTITY release.url "http://www.FreeBSD.org/snapshots/">;
+<!ENTITY release.url "https://www.FreeBSD.org/snapshots/">;
+
+<!-- The URL for Security Advisories and Errata Notices. -->
+<!ENTITY security.url "https://www.FreeBSD.org/security/advisories">;
 
 <!-- The recommended mailing list to track. -->
 <!ENTITY release.maillist "current">
@@ -51,7 +54,7 @@
 <!ENTITY release ''>
 
 <!-- The manpaths for man page references -->
-<!ENTITY release.man.url "http://www.FreeBSD.org/cgi/man.cgi">;
+<!ENTITY release.man.url "https://www.FreeBSD.org/cgi/man.cgi">;
 <!ENTITY release.manpath.xorg          "7.5.1">
 <!ENTITY release.manpath.netbsd        "5.1">
 <!ENTITY release.manpath.freebsd-ports "Ports">

Copied: projects/building-blocks/release/doc/share/xml/security.xml (from r278311, head/release/doc/share/xml/security.xml)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/building-blocks/release/doc/share/xml/security.xml	Fri Feb  6 10:10:57 2015	(r278312, copy of r278311, head/release/doc/share/xml/security.xml)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+     The FreeBSD Documentation Project
+
+     $FreeBSD$
+-->
+<informaltable frame="none" pgwide="1">
+  <tgroup cols="3">
+    <colspec colwidth="40%"/>
+    <colspec colwidth="30%"/>
+    <colspec colwidth="30%"/>
+    <thead>
+      <row>
+	<entry>Advisory</entry>
+	<entry>Date</entry>
+	<entry>Topic</entry>
+      </row>
+    </thead>
+
+    <tbody>
+      <row>
+	<entry><para>No advisories.</para></entry>
+	<entry><para>&nbsp;</para></entry>
+	<entry><para>&nbsp;</para></entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>

Modified: projects/building-blocks/sbin/ipfw/ipfw2.c
==============================================================================
--- projects/building-blocks/sbin/ipfw/ipfw2.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sbin/ipfw/ipfw2.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -61,6 +61,7 @@ struct format_opts {
 	int bcwidth;
 	int pcwidth;
 	int show_counters;
+	int show_time;		/* show timestamp */
 	uint32_t set_mask;	/* enabled sets mask */
 	uint32_t flags;		/* request flags */
 	uint32_t first;		/* first rule to request */
@@ -2402,7 +2403,7 @@ list_static_range(struct cmdline_opts *c
 	for (n = seen = 0; n < rcnt; n++,
 	    rtlv = (ipfw_obj_tlv *)((caddr_t)rtlv + rtlv->length)) {
 
-		if (fo->show_counters != 0) {
+		if ((fo->show_counters | fo->show_time) != 0) {
 			cntr = (struct ip_fw_bcounter *)(rtlv + 1);
 			r = (struct ip_fw_rule *)((caddr_t)cntr + cntr->size);
 		} else {
@@ -2504,10 +2505,11 @@ ipfw_list(int ac, char *av[], int show_c
 	/* get configuraion from kernel */
 	cfg = NULL;
 	sfo.show_counters = show_counters;
+	sfo.show_time = co.do_time;
 	sfo.flags = IPFW_CFG_GET_STATIC;
 	if (co.do_dynamic != 0)
 		sfo.flags |= IPFW_CFG_GET_STATES;
-	if (sfo.show_counters != 0)
+	if ((sfo.show_counters | sfo.show_time) != 0)
 		sfo.flags |= IPFW_CFG_GET_COUNTERS;
 	if (ipfw_get_config(&co, &sfo, &cfg, &sz) != 0)
 		err(EX_OSERR, "retrieving config failed");

Modified: projects/building-blocks/sys/arm/broadcom/bcm2835/files.bcm2835
==============================================================================
--- projects/building-blocks/sys/arm/broadcom/bcm2835/files.bcm2835	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/arm/broadcom/bcm2835/files.bcm2835	Fri Feb  6 10:10:57 2015	(r278312)
@@ -27,3 +27,23 @@ kern/kern_clocksource.c                 
 
 dev/mbox/mbox_if.m				standard
 dev/ofw/ofw_cpu.c				standard
+
+# VideoCore driver
+contrib/vchiq/interface/compat/vchi_bsd.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c	standard \
+	compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_arm.c	standard \
+	compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_connected.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_core.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_kern_lib.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_shim.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_util.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"

Modified: projects/building-blocks/sys/boot/amd64/boot1.efi/fat.tmpl.bz2.uu
==============================================================================
--- projects/building-blocks/sys/boot/amd64/boot1.efi/fat.tmpl.bz2.uu	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/boot/amd64/boot1.efi/fat.tmpl.bz2.uu	Fri Feb  6 10:10:57 2015	(r278312)
@@ -2,20 +2,19 @@ FAT template boot filesystem created by 
 DO NOT EDIT
 $FreeBSD$
 begin 644 fat.tmpl.bz2
-M0EIH.3%!62936=AO?&0`&J9____[ZZKJJ_^N_ZO^Z_^[OO_\`5`(0!0&#$D"
-M0$)$2&(<P`(\K5,M9"5%&DQ---,FAH,0```T````R-!HQ`&30`-&"#)ID$JF
-M1)[U4_5-&@`T```#0&AH````````````(,F`$P`!,`1IA&````"9-,308`1@
-M````!))!BDVI/U0`]0R>H:`81HT#)D!H-#U`T#31IH-&(``R8$9_I)6[MY/,
-M(H=/()+4&!(3V0"20C3J5$L5@2`219,"T6JI,@0"2*2\=LAD6=>N6<O!'F<.
-MQ2`;9$.P]202R&N9I3BX[E0;C7/9BF'`((K?M1ZK0B2Q;BLJ9!(`21P&1:;B
-MDD)S!-L5BL5BL/173`@@M!!!!!X@BQ0@@@@@@CJ"A!!!"!`TWD!B!`@0($"J
-M9(E`B,1(D2)$B;V]S&-,&#!@P8,'1\*$+59`:41,';;/)32*G*Q52N![20F8
-M9CCYSB#!2=[EG.),$:P,>(8QSW'U+N42P^'5X@7X``23=EA``#Z,O)^-VTX@
-M`+E!=,&6PV11C:*D8K#^<%FTG-%!@PR72@\ZU0B<D6I$FT/1\<A#/`;ET5$)
-MKT-MBW97\J.P/H0ADE"(EBN6";@5#$2#!(\F/E8M+!8-A-S"+$U5[\J>F1Y]
-MF-FPGL2L>4QCU&O/>89^#H$6^<;&WKC9W52KUX."CM6+GD;(=1!MUD,,?Y[]
-MTLAG0];,:B^]M%BH0J1":_C-*2I9R3AS#,&0>$RCY'T/R?HR!?'5$MILQ:!"
-M+;10A*!&^<(_/8>D8<CDN9]HO)OH13W(Q())?'R2WTV9*G_4T<=Y!'1+'9,(
-J1-/V<ME.&9Q3LKI2S$(`$D,``'_=FF*).\[A.)#4HU1=R13A0D-AO?&0
+M0EIH.3%!629362AK*D(`&I+____[ZZKJZ_^N_ZO^Z_Z_OJ[L`4`!7I0$#&$"
+M0$!$3&(<P`(;J*C:0E0E#30&AH`T````9#0```9````#)ZF0:,-3U/409,`)
+M@`"8`C3",````$R:8F@P`C`````"24U,D>I-DTU,)ZAZ0VA-!M0T'J`>H#"9
+M'I#0-H&HQI&0&3&FH>H>*`JHHU3V]1%/4/2``T#0`!H``#0`````#1H,@``6
+M'1&G'&@?$6[T#A)?X8$A160"20BO#")0J4TB1*4GXF$B4I,&>43+=_?K=#3*
+M6]<E0HE`UBF?(J%8BRF#?8OQ2'D)`)(EL2;F4.'R>R"ZNKJZI,9*68E8*E2Q
+M4J5*E3'(1830A"$(12A-"<(0A#]VD)H0A"$,>I0FA"$(0I\>P^=F5:M6K5JU
+M:DI3:64UN;[7%5B]Y-^\]@_K@B:N\/,5F%&H<\G#IXQXAEFC&D?![6%0'6MR
+MX1@@%FC"FD`M7,/SXFNG:2`'-0<-C$8^+$N.7M1B,^6)9,DV9,0A\OL<:C"L
+ML1V&,<\9YRB>XV#BG")'6NKRK^("UF2XO?_L!#29">MGDF$R3).!PX&%E,4C
+M''=(FL1.`_3?CN@-IB2PI3!FF\<8X.X@D,>CA90I)#M$XRPNDFJELL<3=1?8
+M2B7\5Z64,!7Z;EEBW-MXN-4IJ@W$462]-*\YCR,-B,5[W?=3&L/U>SX,WV#\
+M\B`:I"'0Z)5"$1B.E)(K[5I4RS`%R$>Y\D0NR*,;<9CZ:^V3P(I?D<D#!UC)
+D^M-HEE3SAN-8O0FQ$(`$(DF`?ZQ]'U2F_XNY(IPH2!0UE2$`
 `
 end

Modified: projects/building-blocks/sys/boot/amd64/boot1.efi/generate-fat.sh
==============================================================================
--- projects/building-blocks/sys/boot/amd64/boot1.efi/generate-fat.sh	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/boot/amd64/boot1.efi/generate-fat.sh	Fri Feb  6 10:10:57 2015	(r278312)
@@ -20,7 +20,7 @@ OUTPUT_FILE=fat.tmpl
 
 dd if=/dev/zero of=$OUTPUT_FILE bs=512 count=$FAT_SIZE
 DEVICE=`mdconfig -a -f $OUTPUT_FILE`
-newfs_msdos -F 12 $DEVICE
+newfs_msdos -F 12 -L EFI $DEVICE
 mkdir stub
 mount -t msdosfs /dev/$DEVICE stub
 

Modified: projects/building-blocks/sys/conf/kern.pre.mk
==============================================================================
--- projects/building-blocks/sys/conf/kern.pre.mk	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/conf/kern.pre.mk	Fri Feb  6 10:10:57 2015	(r278312)
@@ -79,6 +79,9 @@ INCLUDES+= -I$S/dev/ath -I$S/dev/ath/ath
 # ... and the same for the NgATM stuff
 INCLUDES+= -I$S/contrib/ngatm
 
+# ... and the same for vchiq
+INCLUDES+= -I$S/contrib/vchiq
+
 # ... and the same for twa
 INCLUDES+= -I$S/dev/twa
 
@@ -171,7 +174,7 @@ SYSTEM_OBJS= locore.o ${MDOBJS} ${OBJS}
 SYSTEM_OBJS+= ${SYSTEM_CFILES:.c=.o}
 SYSTEM_OBJS+= hack.So
 SYSTEM_LD= @${LD} -Bdynamic -T ${LDSCRIPT} ${_LDFLAGS} --no-warn-mismatch \
-	-warn-common -export-dynamic -dynamic-linker /red/herring \
+	--warn-common --export-dynamic --dynamic-linker /red/herring \
 	-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
 SYSTEM_LD_TAIL= @${OBJCOPY} --strip-symbol gcc2_compiled. ${.TARGET} ; \
 	${SIZE} ${.TARGET} ; chmod 755 ${.TARGET}

Copied: projects/building-blocks/sys/dev/cxgbe/if_cxl.c (from r278311, head/sys/dev/cxgbe/if_cxl.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/building-blocks/sys/dev/cxgbe/if_cxl.c	Fri Feb  6 10:10:57 2015	(r278312, copy of r278311, head/sys/dev/cxgbe/if_cxl.c)
@@ -0,0 +1,44 @@
+/*-
+ * Copyright (c) 2015 Chelsio Communications, Inc.
+ * All rights reserved.
+ * Written by: Navdeep Parhar <np@FreeBSD.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+
+static int
+mod_event(module_t mod, int cmd, void *arg)
+{
+
+	return (0);
+}
+static moduledata_t if_cxl_mod = {"if_cxl", mod_event};
+DECLARE_MODULE(if_cxl, if_cxl_mod, SI_SUB_EXEC, SI_ORDER_ANY);
+MODULE_VERSION(if_cxl, 1);
+MODULE_DEPEND(if_cxl, cxl, 1, 1, 1);

Modified: projects/building-blocks/sys/dev/uart/uart_bus_pci.c
==============================================================================
--- projects/building-blocks/sys/dev/uart/uart_bus_pci.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/dev/uart/uart_bus_pci.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -121,6 +121,7 @@ static const struct pci_id pci_ns8250_id
 { 0x8086, 0x1c3d, 0xffff, 0, "Intel AMT - KT Controller", 0x10 },
 { 0x8086, 0x1d3d, 0xffff, 0, "Intel C600/X79 Series Chipset KT Controller", 0x10 },
 { 0x8086, 0x2a07, 0xffff, 0, "Intel AMT - PM965/GM965 KT Controller", 0x10 },
+{ 0x8086, 0x2a47, 0xffff, 0, "Mobile 4 Series Chipset KT Controller", 0x10 },
 { 0x8086, 0x2e17, 0xffff, 0, "4 Series Chipset Serial KT Controller", 0x10 },
 { 0x8086, 0x3b67, 0xffff, 0, "5 Series/3400 Series Chipset KT Controller",
 	0x10 },

Modified: projects/building-blocks/sys/dev/vt/hw/vga/vt_vga.c
==============================================================================
--- projects/building-blocks/sys/dev/vt/hw/vga/vt_vga.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/dev/vt/hw/vga/vt_vga.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -1263,7 +1263,8 @@ static int
 vtvga_probe(device_t dev)
 {
 
-	device_set_desc(dev, "vt_vga driver");
+	device_set_desc(dev, "VT VGA driver");
+
 	return (BUS_PROBE_NOWILDCARD);
 }
 

Modified: projects/building-blocks/sys/kern/subr_bus.c
==============================================================================
--- projects/building-blocks/sys/kern/subr_bus.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/kern/subr_bus.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -128,15 +128,6 @@ struct device {
 	device_state_t	state;		/**< current device state  */
 	uint32_t	devflags;	/**< api level flags for device_get_flags() */
 	u_int		flags;		/**< internal device flags  */
-#define	DF_ENABLED	0x01		/* device should be probed/attached */
-#define	DF_FIXEDCLASS	0x02		/* devclass specified at create time */
-#define	DF_WILDCARD	0x04		/* unit was originally wildcard */
-#define	DF_DESCMALLOCED	0x08		/* description was malloced */
-#define	DF_QUIET	0x10		/* don't print verbose attach message */
-#define	DF_DONENOMATCH	0x20		/* don't execute DEVICE_NOMATCH again */
-#define	DF_EXTERNALSOFTC 0x40		/* softc not allocated by us */
-#define	DF_REBID	0x80		/* Can rebid after attach */
-#define	DF_SUSPENDED	0x100		/* Device is suspended. */
 	u_int	order;			/**< order from device_add_child_ordered() */
 	void	*ivars;			/**< instance variables  */
 	void	*softc;			/**< current driver's variables  */
@@ -3653,7 +3644,7 @@ bus_generic_suspend_child(device_t dev, 
 	error = DEVICE_SUSPEND(child);
 
 	if (error == 0)
-		dev->flags |= DF_SUSPENDED;
+		child->flags |= DF_SUSPENDED;
 
 	return (error);
 }
@@ -3668,7 +3659,7 @@ bus_generic_resume_child(device_t dev, d
 {
 
 	DEVICE_RESUME(child);
-	dev->flags &= ~DF_SUSPENDED;
+	child->flags &= ~DF_SUSPENDED;
 
 	return (0);
 }

Modified: projects/building-blocks/sys/modules/cxgbe/Makefile
==============================================================================
--- projects/building-blocks/sys/modules/cxgbe/Makefile	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/modules/cxgbe/Makefile	Fri Feb  6 10:10:57 2015	(r278312)
@@ -6,6 +6,7 @@ SYSDIR?=${.CURDIR}/../..
 .include "${SYSDIR}/conf/kern.opts.mk"
 
 SUBDIR=	if_cxgbe
+SUBDIR+=	if_cxl
 SUBDIR+=	t4_firmware
 SUBDIR+=	t5_firmware
 SUBDIR+=	${_tom}

Modified: projects/building-blocks/sys/netinet6/in6.c
==============================================================================
--- projects/building-blocks/sys/netinet6/in6.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/netinet6/in6.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -1333,6 +1333,7 @@ in6_purgeaddr(struct ifaddr *ifa)
 static void
 in6_unlink_ifa(struct in6_ifaddr *ia, struct ifnet *ifp)
 {
+	char ip6buf[INET6_ADDRSTRLEN];
 
 	IF_ADDR_WLOCK(ifp);
 	TAILQ_REMOVE(&ifp->if_addrhead, &ia->ia_ifa, ifa_link);
@@ -1356,7 +1357,7 @@ in6_unlink_ifa(struct in6_ifaddr *ia, st
 	if (ia->ia6_ndpr == NULL) {
 		nd6log((LOG_NOTICE,
 		    "in6_unlink_ifa: autoconf'ed address "
-		    "%p has no prefix\n", ia));
+		    "%s has no prefix\n", ip6_sprintf(ip6buf, IA6_IN6(ia))));
 	} else {
 		ia->ia6_ndpr->ndpr_refcnt--;
 		ia->ia6_ndpr = NULL;

Modified: projects/building-blocks/sys/netpfil/ipfw/ip_fw_iface.c
==============================================================================
--- projects/building-blocks/sys/netpfil/ipfw/ip_fw_iface.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/netpfil/ipfw/ip_fw_iface.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: projects/ipfw/sys/netpfil/ipfw/ip_fw_iface.c 267384 2014-06-12 09:59:11Z melifaro $");
+__FBSDID("$FreeBSD$");
 
 /*
  * Kernel interface tracking API.
@@ -397,20 +397,20 @@ ipfw_iface_del_notify(struct ip_fw_chain
 
 /*
  * Unreference interface specified by @ic.
- * Must be called without holding any locks.
+ * Must be called while holding UH lock.
  */
 void
 ipfw_iface_unref(struct ip_fw_chain *ch, struct ipfw_ifc *ic)
 {
 	struct ipfw_iface *iif;
 
+	IPFW_UH_WLOCK_ASSERT(ch);
+
 	iif = ic->iface;
 	ic->iface = NULL;
 
-	IPFW_UH_WLOCK(ch);
 	iif->no.refcnt--;
 	/* TODO: check for references & delete */
-	IPFW_UH_WUNLOCK(ch);
 }
 
 /*

Modified: projects/building-blocks/sys/netpfil/ipfw/ip_fw_nat.c
==============================================================================
--- projects/building-blocks/sys/netpfil/ipfw/ip_fw_nat.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/netpfil/ipfw/ip_fw_nat.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -691,7 +691,7 @@ nat44_get_cfg(struct ip_fw_chain *chain,
 	export_nat_cfg(ptr, ucfg);
 	
 	/* Estimate memory amount */
-	sz = sizeof(struct nat44_cfg_nat);
+	sz = sizeof(ipfw_obj_header) + sizeof(struct nat44_cfg_nat);
 	LIST_FOREACH(r, &ptr->redir_chain, _next) {
 		sz += sizeof(struct nat44_cfg_redir);
 		LIST_FOREACH(s, &r->spool_chain, _next)
@@ -699,7 +699,7 @@ nat44_get_cfg(struct ip_fw_chain *chain,
 	}
 
 	ucfg->size = sz;
-	if (sd->valsize < sz + sizeof(*oh)) {
+	if (sd->valsize < sz) {
 
 		/*
 		 * Submitted buffer size is not enough.

Modified: projects/building-blocks/sys/netpfil/ipfw/ip_fw_private.h
==============================================================================
--- projects/building-blocks/sys/netpfil/ipfw/ip_fw_private.h	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/netpfil/ipfw/ip_fw_private.h	Fri Feb  6 10:10:57 2015	(r278312)
@@ -429,6 +429,7 @@ struct ipfw_ifc {
 
 #define	IPFW_UH_RLOCK_ASSERT(_chain)	rw_assert(&(_chain)->uh_lock, RA_RLOCKED)
 #define	IPFW_UH_WLOCK_ASSERT(_chain)	rw_assert(&(_chain)->uh_lock, RA_WLOCKED)
+#define	IPFW_UH_UNLOCK_ASSERT(_chain)	rw_assert(&(_chain)->uh_lock, RA_UNLOCKED)
 
 #define IPFW_UH_RLOCK(p) rw_rlock(&(p)->uh_lock)
 #define IPFW_UH_RUNLOCK(p) rw_runlock(&(p)->uh_lock)

Modified: projects/building-blocks/sys/netpfil/ipfw/ip_fw_table.c
==============================================================================
--- projects/building-blocks/sys/netpfil/ipfw/ip_fw_table.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/netpfil/ipfw/ip_fw_table.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -1198,7 +1198,7 @@ flush_table(struct ip_fw_chain *ch, stru
 	void *astate_old, *astate_new;
 	char algostate[64], *pstate;
 	struct tableop_state ts;
-	int error;
+	int error, need_gc;
 	uint16_t kidx;
 	uint8_t tflags;
 
@@ -1212,6 +1212,9 @@ flush_table(struct ip_fw_chain *ch, stru
 		IPFW_UH_WUNLOCK(ch);
 		return (ESRCH);
 	}
+	need_gc = 0;
+	astate_new = NULL;
+	memset(&ti_new, 0, sizeof(ti_new));
 restart:
 	/* Set up swap handler */
 	memset(&ts, 0, sizeof(ts));
@@ -1237,6 +1240,14 @@ restart:
 	IPFW_UH_WUNLOCK(ch);
 
 	/*
+	 * Stage 1.5: if this is not the first attempt, destroy previous state
+	 */
+	if (need_gc != 0) {
+		ta->destroy(astate_new, &ti_new);
+		need_gc = 0;
+	}
+
+	/*
 	 * Stage 2: allocate new table instance using same algo.
 	 */
 	memset(&ti_new, 0, sizeof(struct table_info));
@@ -1262,7 +1273,8 @@ restart:
 	 * complex checks.
 	 */
 	if (ts.modified != 0) {
-		ta->destroy(astate_new, &ti_new);
+		/* Delay destroying data since we're holding UH lock */
+		need_gc = 1;
 		goto restart;
 	}
 
@@ -3042,6 +3054,7 @@ free_table_config(struct namedobj_instan
 {
 
 	KASSERT(tc->linked == 0, ("free() on linked config"));
+	/* UH lock MUST NOT be held */
 
 	/*
 	 * We're using ta without any locking/referencing.

Modified: projects/building-blocks/sys/netpfil/ipfw/ip_fw_table_algo.c
==============================================================================
--- projects/building-blocks/sys/netpfil/ipfw/ip_fw_table_algo.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/netpfil/ipfw/ip_fw_table_algo.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -97,7 +97,7 @@ __FBSDID("$FreeBSD$");
  *
  * -destroy: request to destroy table instance.
  * typedef void (ta_destroy)(void *ta_state, struct table_info *ti);
- * MANDATORY, may be locked (UH+WLOCK). (M_NOWAIT).
+ * MANDATORY, unlocked. (M_WAITOK).
  *
  * Frees all table entries and all tables structures allocated by -init.
  *
@@ -2134,6 +2134,7 @@ destroy_ifidx_locked(struct namedobj_ins
 	ife = (struct ifentry *)no;
 
 	ipfw_iface_del_notify(ch, &ife->ic);
+	ipfw_iface_unref(ch, &ife->ic);
 	free(ife, M_IPFW_TBL);
 }
 
@@ -2153,7 +2154,9 @@ ta_destroy_ifidx(void *ta_state, struct 
 	if (icfg->main_ptr != NULL)
 		free(icfg->main_ptr, M_IPFW);
 
+	IPFW_UH_WLOCK(ch);
 	ipfw_objhash_foreach(icfg->ii, destroy_ifidx_locked, ch);
+	IPFW_UH_WUNLOCK(ch);
 
 	ipfw_objhash_destroy(icfg->ii);
 
@@ -2333,8 +2336,9 @@ ta_del_ifidx(void *ta_state, struct tabl
 
 	/* Unlink from local list */
 	ipfw_objhash_del(icfg->ii, &ife->no);
-	/* Unlink notifier */
+	/* Unlink notifier and deref */
 	ipfw_iface_del_notify(icfg->ch, &ife->ic);
+	ipfw_iface_unref(icfg->ch, &ife->ic);
 
 	icfg->count--;
 	tei->value = ife->value;
@@ -2357,11 +2361,8 @@ ta_flush_ifidx_entry(struct ip_fw_chain 
 
 	tb = (struct ta_buf_ifidx *)ta_buf;
 
-	if (tb->ife != NULL) {
-		/* Unlink first */
-		ipfw_iface_unref(ch, &tb->ife->ic);
+	if (tb->ife != NULL)
 		free(tb->ife, M_IPFW_TBL);
-	}
 }
 
 

Modified: projects/building-blocks/sys/sys/bus.h
==============================================================================
--- projects/building-blocks/sys/sys/bus.h	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/sys/bus.h	Fri Feb  6 10:10:57 2015	(r278312)
@@ -70,11 +70,22 @@ struct u_device {
 	char		dv_pnpinfo[128];	/**< @brief Plug and play info */
 	char		dv_location[128];	/**< @brief Where is the device? */
 	uint32_t	dv_devflags;		/**< @brief API Flags for device */
-	uint16_t	dv_flags;		/**< @brief flags for dev date */
+	uint16_t	dv_flags;		/**< @brief flags for dev state */
 	device_state_t	dv_state;		/**< @brief State of attachment */
 	/* XXX more driver info? */
 };
 
+/* Flags exported via dv_flags. */
+#define	DF_ENABLED	0x01		/* device should be probed/attached */
+#define	DF_FIXEDCLASS	0x02		/* devclass specified at create time */
+#define	DF_WILDCARD	0x04		/* unit was originally wildcard */
+#define	DF_DESCMALLOCED	0x08		/* description was malloced */
+#define	DF_QUIET	0x10		/* don't print verbose attach message */
+#define	DF_DONENOMATCH	0x20		/* don't execute DEVICE_NOMATCH again */
+#define	DF_EXTERNALSOFTC 0x40		/* softc not allocated by us */
+#define	DF_REBID	0x80		/* Can rebid after attach */
+#define	DF_SUSPENDED	0x100		/* Device is suspended. */
+
 #ifdef _KERNEL
 
 #include <sys/queue.h>

Modified: projects/building-blocks/sys/sys/systm.h
==============================================================================
--- projects/building-blocks/sys/sys/systm.h	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/sys/systm.h	Fri Feb  6 10:10:57 2015	(r278312)
@@ -357,7 +357,6 @@ static __inline intrmask_t	splhigh(void)
 static __inline intrmask_t	splimp(void)		{ return 0; }
 static __inline intrmask_t	splnet(void)		{ return 0; }
 static __inline intrmask_t	spltty(void)		{ return 0; }
-static __inline intrmask_t	splvm(void)		{ return 0; }
 static __inline void		splx(intrmask_t ipl __unused)	{ return; }
 
 /*

Modified: projects/building-blocks/sys/ufs/ffs/ffs_softdep.c
==============================================================================
--- projects/building-blocks/sys/ufs/ffs/ffs_softdep.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/sys/ufs/ffs/ffs_softdep.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -1393,7 +1393,7 @@ softdep_flush(addr)
 		    VFSTOUFS(mp)->softdep_jblocks->jb_suspended))
 			kthread_suspend_check();
 		ACQUIRE_LOCK(ump);
-		while ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0)
+		if ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0)
 			msleep(&ump->softdep_flushtd, LOCK_PTR(ump), PVM,
 			    "sdflush", hz / 2);
 		ump->softdep_flags &= ~FLUSH_CLEANUP;
@@ -1423,10 +1423,9 @@ worklist_speedup(mp)
 
 	ump = VFSTOUFS(mp);
 	LOCK_OWNED(ump);
-	if ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0) {
+	if ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0)
 		ump->softdep_flags |= FLUSH_CLEANUP;
-		wakeup(&ump->softdep_flushtd);
-	}
+	wakeup(&ump->softdep_flushtd);
 }
 
 static int
@@ -1471,11 +1470,10 @@ softdep_speedup(ump)
 			TAILQ_INSERT_TAIL(&softdepmounts, sdp, sd_next);
 			FREE_GBLLOCK(&lk);
 			if ((altump->softdep_flags &
-			    (FLUSH_CLEANUP | FLUSH_EXIT)) == 0) {
+			    (FLUSH_CLEANUP | FLUSH_EXIT)) == 0)
 				altump->softdep_flags |= FLUSH_CLEANUP;
-				altump->um_softdep->sd_cleanups++;
-				wakeup(&altump->softdep_flushtd);
-			}
+			altump->um_softdep->sd_cleanups++;
+			wakeup(&altump->softdep_flushtd);
 			FREE_LOCK(altump);
 		}
 	}

Modified: projects/building-blocks/usr.sbin/devinfo/devinfo.c
==============================================================================
--- projects/building-blocks/usr.sbin/devinfo/devinfo.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/usr.sbin/devinfo/devinfo.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -146,6 +146,10 @@ print_device(struct devinfo_dev *dev, vo
 			printf(" pnpinfo %s", dev->dd_pnpinfo);
 		if (vflag && *dev->dd_location)
 			printf(" at %s", dev->dd_location);
+		if (!(dev->dd_flags & DF_ENABLED))
+			printf(" (disabled)");
+		else if (dev->dd_flags & DF_SUSPENDED)
+			printf(" (suspended)");
 		printf("\n");
 		if (rflag) {
 			ia.indent = indent + 4;

Modified: projects/building-blocks/usr.sbin/syslogd/syslogd.c
==============================================================================
--- projects/building-blocks/usr.sbin/syslogd/syslogd.c	Fri Feb  6 09:41:16 2015	(r278311)
+++ projects/building-blocks/usr.sbin/syslogd/syslogd.c	Fri Feb  6 10:10:57 2015	(r278312)
@@ -1020,7 +1020,7 @@ logmsg(int pri, const char *msg, const c
 		 */
 		if (no_compress - (f->f_type != F_PIPE) < 1 &&
 		    (flags & MARK) == 0 && msglen == f->f_prevlen &&
-		    f->f_prevline && !strcmp(msg, f->f_prevline) &&
+		    !strcmp(msg, f->f_prevline) &&
 		    !strcasecmp(from, f->f_prevhost)) {
 			(void)strlcpy(f->f_lasttime, timestamp,
 				sizeof(f->f_lasttime));
@@ -1175,11 +1175,9 @@ fprintlog(struct filed *f, int flags, co
 		v->iov_base = repbuf;
 		v->iov_len = snprintf(repbuf, sizeof repbuf,
 		    "last message repeated %d times", f->f_prevcount);
-	} else if (f->f_prevline) {
+	} else {
 		v->iov_base = f->f_prevline;
 		v->iov_len = f->f_prevlen;
-	} else {
-		return;
 	}
 	v++;
 



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