changeset 10695:c2dc701391b4

6886324 (ns = netstack_find_by_zoneid(zoneid)) != NULL panic in ipnet_find_by_zoneid 6886387 SUNWpacketh and SUNWpacketu seem incorrectly packaged 6886759 SUNWpacktu has incorrect package designation
author Darren Reed <Darren.Reed@Sun.COM>
date Wed, 30 Sep 2009 11:56:44 -0700
parents 584d721decf9
children cd0f390dd9e2
files usr/src/pkgdefs/SUNWpacketh/pkginfo.tmpl usr/src/pkgdefs/SUNWpacketu/pkginfo.tmpl usr/src/uts/common/inet/ipnet/ipnet.c
diffstat 3 files changed, 12 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/pkgdefs/SUNWpacketh/pkginfo.tmpl	Wed Sep 30 14:32:51 2009 -0400
+++ b/usr/src/pkgdefs/SUNWpacketh/pkginfo.tmpl	Wed Sep 30 11:56:44 2009 -0700
@@ -45,7 +45,7 @@
 BASEDIR=/
 SUNW_PKGVERS="1.0"
 SUNW_PKG_ALLZONES="true"
-SUNW_PKG_HOLLOW="true"
+SUNW_PKG_HOLLOW="false"
 SUNW_PKG_THISZONE="false"
 #VSTOCK="<reserved by Release Engineering for package part #>"
 #ISTATES="<developer defined>"
--- a/usr/src/pkgdefs/SUNWpacketu/pkginfo.tmpl	Wed Sep 30 14:32:51 2009 -0400
+++ b/usr/src/pkgdefs/SUNWpacketu/pkginfo.tmpl	Wed Sep 30 11:56:44 2009 -0700
@@ -34,18 +34,18 @@
 VERSION="ONVERS,REV=0.0.0"
 SUNW_PRODNAME="SunOS"
 SUNW_PRODVERS="RELEASE/VERSION"
-SUNW_PKGTYPE="root"
+SUNW_PKGTYPE="usr"
 MAXINST="1000"
 CATEGORY="system"
 DESC="BPF/PF_PACKET kernel packet modules"
 VENDOR="Sun Microsystems, Inc."
 HOTLINE="Please contact your local service provider"
 EMAIL=""
-CLASSES="none preserve manifest"
+CLASSES="none preserve"
 BASEDIR=/
 SUNW_PKGVERS="1.0"
 SUNW_PKG_ALLZONES="true"
-SUNW_PKG_HOLLOW="false"
+SUNW_PKG_HOLLOW="true"
 SUNW_PKG_THISZONE="false"
 #VSTOCK="<reserved by Release Engineering for package part #>"
 #ISTATES="<developer defined>"
--- a/usr/src/uts/common/inet/ipnet/ipnet.c	Wed Sep 30 14:32:51 2009 -0400
+++ b/usr/src/uts/common/inet/ipnet/ipnet.c	Wed Sep 30 11:56:44 2009 -0700
@@ -1428,6 +1428,14 @@
 		break;
 	}
 
+	/*
+	 * The zoneid stored in ipnetif_t needs to correspond to the actual
+	 * zone the address is being used in. This facilitates finding the
+	 * correct netstack_t pointer, amongst other things, later.
+	 */
+	if (zoneid == ALL_ZONES)
+		zoneid = GLOBAL_ZONEID;
+
 	mutex_enter(&ipnetif->if_addr_lock);
 	if (zoneid != ipnetif->if_zoneid) {
 		ipnetif_t *ifp2;