6414797 code in zone_find_by_any_path generates bad assembly code and panic, can be worked around w/ change
authormp46848
Mon, 24 Apr 2006 17:51:37 -0700
changeset 1876 1427ed2daa73
parent 1875 64c5c105cd78
child 1877 1f9d964b35ef
6414797 code in zone_find_by_any_path generates bad assembly code and panic, can be worked around w/ change
usr/src/uts/common/os/zone.c
--- a/usr/src/uts/common/os/zone.c	Mon Apr 24 15:34:30 2006 -0700
+++ b/usr/src/uts/common/os/zone.c	Mon Apr 24 17:51:37 2006 -0700
@@ -4600,6 +4600,7 @@
 	    zone = list_next(&zone_active, zone)) {
 		char	*c;
 		size_t	pathlen;
+		char *rootpath_start;
 
 		if (zone == global_zone)	/* skip global zone */
 			continue;
@@ -4610,9 +4611,9 @@
 			c--;
 		} while (*c != '/');
 
-		pathlen = c - zone->zone_rootpath + 1;
-		if (strncmp(path, zone->zone_rootpath + path_offset,
-		    pathlen - path_offset) == 0)
+		pathlen = c - zone->zone_rootpath + 1 - path_offset;
+		rootpath_start = (zone->zone_rootpath + path_offset);
+		if (strncmp(path, rootpath_start, pathlen) == 0)
 			break;
 	}
 	if (zone == NULL)