PERFORCE change 149353 for review

Sam Leffler sam at FreeBSD.org
Sat Sep 6 20:45:36 UTC 2008


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

Change 149353 by sam at sam_ebb on 2008/09/06 20:44:47

	IFC @ 149343

Affected files ...

.. //depot/projects/vap/sbin/ipfw/ipfw2.c#8 integrate
.. //depot/projects/vap/sbin/natd/natd.c#5 integrate
.. //depot/projects/vap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate
.. //depot/projects/vap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#5 integrate
.. //depot/projects/vap/sys/contrib/dev/ath/public/wisoc.hal.o.uu#1 branch
.. //depot/projects/vap/sys/contrib/dev/ath/public/wisoc.inc#1 branch
.. //depot/projects/vap/sys/net80211/ieee80211.h#15 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_ddb.c#25 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_freebsd.h#36 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_ht.c#45 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_ht.h#20 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#65 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#24 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_node.c#46 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_node.h#27 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_phy.c#10 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_sta.c#18 integrate

Differences ...

==== //depot/projects/vap/sbin/ipfw/ipfw2.c#8 (text+ko) ====

@@ -17,7 +17,7 @@
  *
  * NEW command line interface for IP firewall facility
  *
- * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.120 2008/05/10 15:02:56 julian Exp $
+ * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.121 2008/09/06 17:23:37 rik Exp $
  */
 
 #include <sys/param.h>
@@ -2429,7 +2429,7 @@
 		rulenum = atoi(av[0]);
 		new_set = atoi(av[2]);
 		if (!isdigit(*(av[0])) || (cmd == 3 && rulenum > RESVD_SET) ||
-			(cmd == 2 && rulenum == 65535) )
+			(cmd == 2 && rulenum == IPFW_DEFAULT_RULE) )
 			errx(EX_DATAERR, "invalid source number %s\n", av[0]);
 		if (!isdigit(*(av[2])) || new_set > RESVD_SET)
 			errx(EX_DATAERR, "invalid dest. set %s\n", av[1]);
@@ -2553,7 +2553,7 @@
 	 * need to scan the list to count them.
 	 */
 	for (nstat = 1, r = data, lim = (char *)data + nbytes;
-		    r->rulenum < 65535 && (char *)r < lim;
+		    r->rulenum < IPFW_DEFAULT_RULE && (char *)r < lim;
 		    ++nstat, r = NEXT(r) )
 		; /* nothing */
 
@@ -5045,7 +5045,8 @@
 			if (have_tag)
 				errx(EX_USAGE, "tag and untag cannot be "
 				    "specified more than once");
-			GET_UINT_ARG(tag, 1, 65534, i, rule_action_params);
+			GET_UINT_ARG(tag, 1, IPFW_DEFAULT_RULE - 1, i,
+			   rule_action_params);
 			have_tag = cmd;
 			fill_cmd(cmd, O_TAG, (i == TOK_TAG) ? 0: F_NOT, tag);
 			ac--; av++;
@@ -5521,8 +5522,8 @@
 			if (c->limit_mask == 0)
 				errx(EX_USAGE, "limit: missing limit mask");
 
-			GET_UINT_ARG(c->conn_limit, 1, 65534, TOK_LIMIT,
-			    rule_options);
+			GET_UINT_ARG(c->conn_limit, 1, IPFW_DEFAULT_RULE - 1,
+			    TOK_LIMIT, rule_options);
 
 			ac--; av++;
 			break;
@@ -5649,8 +5650,8 @@
 			else {
 				uint16_t tag;
 
-				GET_UINT_ARG(tag, 1, 65534, TOK_TAGGED,
-				    rule_options);
+				GET_UINT_ARG(tag, 1, IPFW_DEFAULT_RULE - 1,
+				    TOK_TAGGED, rule_options);
 				fill_cmd(cmd, O_TAGGED, 0, tag);
 			}
 			ac--; av++;
@@ -5978,7 +5979,7 @@
 	size = 0;
 	data = NULL;
 	frule = 0;
-	lrule = 65535; /* max ipfw rule number */
+	lrule = IPFW_DEFAULT_RULE; /* max ipfw rule number */
 	ac--; av++;
 
 	/* Parse parameters. */

==== //depot/projects/vap/sbin/natd/natd.c#5 (text+ko) ====

@@ -11,7 +11,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/natd/natd.c,v 1.53 2008/06/22 22:14:02 mav Exp $");
+__FBSDID("$FreeBSD: src/sbin/natd/natd.c,v 1.54 2008/09/06 17:26:52 rik Exp $");
 
 #define SYSLOG_NAMES
 
@@ -130,6 +130,7 @@
 static void	SetupSkinnyPort(const char *strValue);
 static void	NewInstance(const char *name);
 static void	DoGlobal (int fd);
+static int	CheckIpfwRulenum(unsigned int rnum);
 
 /*
  * Globals.
@@ -1947,6 +1948,10 @@
 	if (sscanf(strValue, "%u:%u", &base, &num) != 2)
 		errx(1, "punch_fw: basenumber:count parameter required");
 
+	if (CheckIpfwRulenum(base + num - 1) == -1)
+		errx(1, "punch_fw: basenumber:count parameter should fit "
+			"the maximum allowed rule numbers");
+
 	LibAliasSetFWBase(mla, base, num);
 	(void)LibAliasSetMode(mla, PKT_ALIAS_PUNCH_FW, PKT_ALIAS_PUNCH_FW);
 }
@@ -1991,3 +1996,22 @@
 	mla = ip->la;
 	mip = ip;
 }
+
+static int
+CheckIpfwRulenum(unsigned int rnum)
+{
+	unsigned int default_rule;
+	size_t len = sizeof(default_rule);
+
+	if (sysctlbyname("net.inet.ip.fw.default_rule", &default_rule, &len,
+		NULL, 0) == -1) {
+		warn("Failed to get the default ipfw rule number, using "
+		     "default historical value 65535.  The reason was");
+		default_rule = 65535;
+	}
+	if (rnum >= default_rule) {
+		return -1;
+	}
+
+	return 0;
+}

==== //depot/projects/vap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 (text+ko) ====

@@ -1303,12 +1303,6 @@
 		}
 	}
 out:
-
-	if (error == 0) {
-		*vpp = ZTOV(zp);
-		vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY);
-	}
-
 	if (dl)
 		zfs_dirent_unlock(dl);
 
@@ -1588,8 +1582,6 @@
 	zfs_log_create(zilog, tx, TX_MKDIR, dzp, zp, dirname);
 	dmu_tx_commit(tx);
 
-	vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY);
-
 	zfs_dirent_unlock(dl);
 
 	ZFS_EXIT(zfsvfs);
@@ -2773,7 +2765,6 @@
 	if (error == 0) {
 		zfs_log_symlink(zilog, tx, TX_SYMLINK, dzp, zp, name, link);
 		*vpp = ZTOV(zp);
-		vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY);
 	}
 
 	dmu_tx_commit(tx);

==== //depot/projects/vap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#5 (text+ko) ====

@@ -117,6 +117,7 @@
 	if (cdrarg != NULL) {
 		error = getnewvnode("zfs", vfsp, &zfs_vnodeops, &vp);
 		ASSERT(error == 0);
+		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
 		zp->z_vnode = vp;
 		vp->v_data = (caddr_t)zp;
 		VN_LOCK_AREC(vp);
@@ -535,8 +536,10 @@
 
 		*zpp = zp;
 	} else {
-		if (ZTOV(zp) != NULL)
+		if (ZTOV(zp) != NULL) {
 			ZTOV(zp)->v_count = 0;
+			VOP_UNLOCK(ZTOV(zp), 0);
+		}
 		dmu_buf_rele(dbp, NULL);
 		zfs_znode_free(zp);
 	}
@@ -598,6 +601,7 @@
 			    &zp->z_vnode);
 			ASSERT(err == 0);
 			vp = ZTOV(zp);
+			vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
 			vp->v_data = (caddr_t)zp;
 			VN_LOCK_AREC(vp);
 			VN_LOCK_ASHARE(vp);
@@ -608,6 +612,7 @@
 			err = insmntque(vp, zfsvfs->z_vfs);
 			vp->v_vflag &= ~VV_FORCEINSMQ;
 			KASSERT(err == 0, ("insmntque() failed: error %d", err));
+			VOP_UNLOCK(vp, 0);
 		}
 		mutex_exit(&zp->z_lock);
 		ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
@@ -623,6 +628,7 @@
 	zfs_znode_dmu_init(zp);
 	ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
 	*zpp = zp;
+	VOP_UNLOCK(vp, 0);
 	return (0);
 }
 

==== //depot/projects/vap/sys/net80211/ieee80211.h#15 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/net80211/ieee80211.h,v 1.21 2008/08/06 15:54:59 sam Exp $
+ * $FreeBSD: src/sys/net80211/ieee80211.h,v 1.22 2008/09/06 17:14:27 sam Exp $
  */
 #ifndef _NET80211_IEEE80211_H_
 #define _NET80211_IEEE80211_H_

==== //depot/projects/vap/sys/net80211/ieee80211_ddb.c#25 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ddb.c,v 1.5 2008/08/25 05:20:29 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ddb.c,v 1.7 2008/09/06 17:18:38 sam Exp $");
 
 #include "opt_ddb.h"
 #include "opt_wlan.h"

==== //depot/projects/vap/sys/net80211/ieee80211_freebsd.h#36 (text+ko) ====

@@ -22,7 +22,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/net80211/ieee80211_freebsd.h,v 1.18 2008/05/28 23:10:53 sam Exp $
+ * $FreeBSD: src/sys/net80211/ieee80211_freebsd.h,v 1.20 2008/09/06 17:29:11 sam Exp $
  */
 #ifndef _NET80211_IEEE80211_FREEBSD_H_
 #define _NET80211_IEEE80211_FREEBSD_H_

==== //depot/projects/vap/sys/net80211/ieee80211_ht.c#45 (text+ko) ====

@@ -25,7 +25,7 @@
 
 #include <sys/cdefs.h>
 #ifdef __FreeBSD__
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ht.c,v 1.12 2008/08/02 18:04:09 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ht.c,v 1.18 2008/09/06 17:42:51 sam Exp $");
 #endif
 
 /*

==== //depot/projects/vap/sys/net80211/ieee80211_ht.h#20 (text+ko) ====

@@ -22,7 +22,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/net80211/ieee80211_ht.h,v 1.6 2008/05/11 23:18:11 sam Exp $
+ * $FreeBSD: src/sys/net80211/ieee80211_ht.h,v 1.7 2008/09/06 17:29:11 sam Exp $
  */
 #ifndef _NET80211_IEEE80211_HT_H_
 #define _NET80211_IEEE80211_HT_H_

==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#65 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.62 2008/08/09 05:46:01 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.63 2008/09/06 17:43:47 sam Exp $");
 
 /*
  * IEEE 802.11 ioctl support (FreeBSD-specific)

==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#24 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/net80211/ieee80211_ioctl.h,v 1.27 2008/04/20 20:35:43 sam Exp $
+ * $FreeBSD: src/sys/net80211/ieee80211_ioctl.h,v 1.28 2008/09/06 17:38:20 sam Exp $
  */
 #ifndef _NET80211_IEEE80211_IOCTL_H_
 #define _NET80211_IEEE80211_IOCTL_H_

==== //depot/projects/vap/sys/net80211/ieee80211_node.c#46 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.99 2008/06/07 18:38:02 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.100 2008/09/06 17:51:02 sam Exp $");
 
 #include "opt_wlan.h"
 

==== //depot/projects/vap/sys/net80211/ieee80211_node.h#27 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/net80211/ieee80211_node.h,v 1.31 2008/04/20 20:35:43 sam Exp $
+ * $FreeBSD: src/sys/net80211/ieee80211_node.h,v 1.34 2008/09/06 17:42:51 sam Exp $
  */
 #ifndef _NET80211_IEEE80211_NODE_H_
 #define _NET80211_IEEE80211_NODE_H_

==== //depot/projects/vap/sys/net80211/ieee80211_phy.c#10 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_phy.c,v 1.3 2008/09/06 17:48:25 sam Exp $");
 
 /*
  * IEEE 802.11 PHY-related support.
@@ -174,6 +174,7 @@
     },
 };
 
+#undef	Mb
 #undef	B
 #undef	OFDM
 #undef	CCK

==== //depot/projects/vap/sys/net80211/ieee80211_sta.c#18 (text+ko) ====

@@ -25,7 +25,7 @@
 
 #include <sys/cdefs.h>
 #ifdef __FreeBSD__
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_sta.c,v 1.2 2008/09/06 17:51:02 sam Exp $");
 #endif
 
 /*


More information about the p4-projects mailing list