--- old/usr/src/uts/common/exec/elf/elf.c	2015-05-08 18:04:54.240786346 -0400
+++ new/usr/src/uts/common/exec/elf/elf.c	2015-05-08 18:04:54.248261603 -0400
@@ -1885,7 +1885,7 @@
 		caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
 		caddr_t saddr, naddr;
 		void *tmp = NULL;
-		extern struct seg_ops segspt_shmops;
+		extern const struct seg_ops segspt_shmops;
 
 		for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
 			uint_t prot;
--- old/usr/src/uts/common/fs/proc/prsubr.c	2015-05-08 18:04:54.515247713 -0400
+++ new/usr/src/uts/common/fs/proc/prsubr.c	2015-05-08 18:04:54.522750783 -0400
@@ -97,8 +97,8 @@
 
 size_t pagev_lim = 256 * 1024;	/* limit on number of pages in prpagev_t */
 
-extern struct seg_ops segdev_ops;	/* needs a header file */
-extern struct seg_ops segspt_shmops;	/* needs a header file */
+extern const struct seg_ops segdev_ops;	/* needs a header file */
+extern const struct seg_ops segspt_shmops;	/* needs a header file */
 
 static	int	set_watched_page(proc_t *, caddr_t, caddr_t, ulong_t, ulong_t);
 static	void	clear_watched_page(proc_t *, caddr_t, caddr_t, ulong_t);
--- old/usr/src/uts/common/os/sunddi.c	2015-05-08 18:04:54.869327798 -0400
+++ new/usr/src/uts/common/os/sunddi.c	2015-05-08 18:04:54.877057039 -0400
@@ -8368,8 +8368,8 @@
 	 * locked) to be allowed for LONGTERM.
 	 */
 	if (flags & DDI_UMEMLOCK_LONGTERM) {
-		extern  struct seg_ops segspt_shmops;
-		extern	struct seg_ops segdev_ops;
+		extern const struct seg_ops segspt_shmops;
+		extern const struct seg_ops segdev_ops;
 		AS_LOCK_ENTER(as, &as->a_lock, RW_READER);
 		for (seg = as_segat(as, addr); ; seg = AS_SEGNEXT(as, seg)) {
 			if (seg == NULL || seg->s_base > addr + len)
--- old/usr/src/uts/common/os/urw.c	2015-05-08 18:04:55.383658314 -0400
+++ new/usr/src/uts/common/os/urw.c	2015-05-08 18:04:55.390949789 -0400
@@ -56,8 +56,8 @@
 #include <vm/seg_spt.h>
 #include <vm/seg_kmem.h>
 
-extern struct seg_ops segdev_ops;	/* needs a header file */
-extern struct seg_ops segspt_shmops;	/* needs a header file */
+extern const struct seg_ops segdev_ops;	/* needs a header file */
+extern const struct seg_ops segspt_shmops;	/* needs a header file */
 
 static int
 page_valid(struct seg *seg, caddr_t addr)
--- old/usr/src/uts/common/vm/seg.h	2015-05-08 18:04:55.593429745 -0400
+++ new/usr/src/uts/common/vm/seg.h	2015-05-08 18:04:55.600853162 -0400
@@ -106,7 +106,7 @@
 	uint_t	s_flags;		/* flags for segment, see below */
 	struct	as *s_as;		/* containing address space */
 	avl_node_t s_tree;		/* AVL tree links to segs in this as */
-	struct	seg_ops *s_ops;		/* ops vector: see below */
+	const struct seg_ops *s_ops;	/* ops vector: see below */
 	void *s_data;			/* private data for instance */
 	kmutex_t s_pmtx;		/* protects seg's pcache list */
 	pcache_link_t s_phead;		/* head of seg's pcache list */
--- old/usr/src/uts/common/vm/seg_dev.c	2015-05-08 18:04:55.803222856 -0400
+++ new/usr/src/uts/common/vm/seg_dev.c	2015-05-08 18:04:55.810736396 -0400
@@ -188,7 +188,7 @@
  *	the segment it has been passed. So if you make it
  *	"static" you'll need to fix rootnex_map_fault.
  */
-struct seg_ops segdev_ops = {
+const struct seg_ops segdev_ops = {
 	.dup		= segdev_dup,
 	.unmap		= segdev_unmap,
 	.free		= segdev_free,
--- old/usr/src/uts/common/vm/seg_dev.h	2015-05-08 18:04:56.145933944 -0400
+++ new/usr/src/uts/common/vm/seg_dev.h	2015-05-08 18:04:56.153116697 -0400
@@ -126,7 +126,7 @@
 
 extern int segdev_copyto(struct seg *, caddr_t, const void *, void *, size_t);
 extern int segdev_copyfrom(struct seg *, caddr_t, const void *, void *, size_t);
-extern struct seg_ops segdev_ops;
+extern const struct seg_ops segdev_ops;
 
 #endif	/* _KERNEL */
 
--- old/usr/src/uts/common/vm/seg_kmem.c	2015-05-08 18:04:56.361071175 -0400
+++ new/usr/src/uts/common/vm/seg_kmem.c	2015-05-08 18:04:56.368491191 -0400
@@ -758,7 +758,7 @@
 	return (0);
 }
 
-static struct seg_ops segkmem_ops = {
+static const struct seg_ops segkmem_ops = {
 	.fault		= segkmem_fault,
 	.setprot	= segkmem_setprot,
 	.checkprot	= segkmem_checkprot,
--- old/usr/src/uts/common/vm/seg_kp.c	2015-05-08 18:04:56.615268353 -0400
+++ new/usr/src/uts/common/vm/seg_kp.c	2015-05-08 18:04:56.622511231 -0400
@@ -138,7 +138,7 @@
 pgcnt_t anon_segkp_pages_locked;	/* See vm/anon.h */
 pgcnt_t anon_segkp_pages_resv;		/* anon reserved by seg_kp */
 
-static struct	seg_ops segkp_ops = {
+static const struct seg_ops segkp_ops = {
 	.fault		= segkp_fault,
 	.checkprot	= segkp_checkprot,
 	.kluster	= segkp_kluster,
--- old/usr/src/uts/common/vm/seg_kpm.c	2015-05-08 18:04:56.862656086 -0400
+++ new/usr/src/uts/common/vm/seg_kpm.c	2015-05-08 18:04:56.870026701 -0400
@@ -107,7 +107,7 @@
 			struct page ***page, enum lock_type type,
 			enum seg_rw rw);
 
-static struct seg_ops segkpm_ops = {
+static const struct seg_ops segkpm_ops = {
 	.fault		= segkpm_fault,
 	.dump		= segkpm_dump,
 	.pagelock	= segkpm_pagelock,
--- old/usr/src/uts/common/vm/seg_map.c	2015-05-08 18:04:57.074275200 -0400
+++ new/usr/src/uts/common/vm/seg_map.c	2015-05-08 18:04:57.081675286 -0400
@@ -94,7 +94,7 @@
 			struct smap *, enum seg_rw);
 struct smap	*get_smap_kpm(caddr_t, page_t **);
 
-static struct seg_ops segmap_ops = {
+static const struct seg_ops segmap_ops = {
 	.free		= segmap_free,
 	.fault		= segmap_fault,
 	.faulta		= segmap_faulta,
--- old/usr/src/uts/common/vm/seg_spt.c	2015-05-08 18:04:57.354920379 -0400
+++ new/usr/src/uts/common/vm/seg_spt.c	2015-05-08 18:04:57.362371281 -0400
@@ -76,7 +76,7 @@
 static void segspt_free_pages(struct seg *seg, caddr_t addr, size_t len);
 static lgrp_mem_policy_info_t *segspt_getpolicy(struct seg *seg, caddr_t addr);
 
-struct seg_ops segspt_ops = {
+const struct seg_ops segspt_ops = {
 	.unmap		= segspt_unmap,
 	.free		= segspt_free,
 	.getpolicy	= segspt_getpolicy,
@@ -112,7 +112,7 @@
 static int segspt_shmgetmemid(struct seg *, caddr_t, memid_t *);
 static lgrp_mem_policy_info_t *segspt_shmgetpolicy(struct seg *, caddr_t);
 
-struct seg_ops segspt_shmops = {
+const struct seg_ops segspt_shmops = {
 	.dup		= segspt_shmdup,
 	.unmap		= segspt_shmunmap,
 	.free		= segspt_shmfree,
--- old/usr/src/uts/common/vm/seg_vn.c	2015-05-08 18:04:57.669818450 -0400
+++ new/usr/src/uts/common/vm/seg_vn.c	2015-05-08 18:04:57.677672615 -0400
@@ -135,7 +135,7 @@
 static lgrp_mem_policy_info_t	*segvn_getpolicy(struct seg *, caddr_t);
 static int	segvn_inherit(struct seg *, caddr_t, size_t, uint_t);
 
-struct	seg_ops segvn_ops = {
+const struct seg_ops segvn_ops = {
 	.dup		= segvn_dup,
 	.unmap		= segvn_unmap,
 	.free		= segvn_free,
--- old/usr/src/uts/common/vm/seg_vn.h	2015-05-08 18:04:58.230475950 -0400
+++ new/usr/src/uts/common/vm/seg_vn.h	2015-05-08 18:04:58.237624723 -0400
@@ -230,7 +230,7 @@
 extern void	segvn_init(void);
 extern int	segvn_create(struct seg *, void *);
 
-extern	struct seg_ops segvn_ops;
+extern const struct seg_ops segvn_ops;
 
 /*
  * Provided as shorthand for creating user zfod segments.
--- old/usr/src/uts/common/vm/vm_as.c	2015-05-08 18:04:58.441710322 -0400
+++ new/usr/src/uts/common/vm/vm_as.c	2015-05-08 18:04:58.449168728 -0400
@@ -473,7 +473,7 @@
 		if (base + seg->s_size > addr) {
 			if (addr >= base || eaddr > base) {
 #ifdef __sparc
-				extern struct seg_ops segnf_ops;
+				extern const struct seg_ops segnf_ops;
 
 				/*
 				 * no-fault segs must disappear if overlaid.
@@ -2005,7 +2005,7 @@
 int
 as_memory(struct as *as, caddr_t *basep, size_t *lenp)
 {
-	extern struct seg_ops segspt_shmops;	/* needs a header file */
+	extern const struct seg_ops segspt_shmops;	/* needs a header file */
 	struct seg *seg;
 	caddr_t addr, eaddr;
 	caddr_t segend;
@@ -2482,7 +2482,7 @@
 	caddr_t eaddr;
 	faultcode_t fault_err = 0;
 	pgcnt_t pl_off;
-	extern struct seg_ops segspt_shmops;
+	extern const struct seg_ops segspt_shmops;
 
 	ASSERT(AS_LOCK_HELD(as, &as->a_lock));
 	ASSERT(seg != NULL);
--- old/usr/src/uts/common/vm/vm_seg.c	2015-05-08 18:04:58.767429658 -0400
+++ new/usr/src/uts/common/vm/vm_seg.c	2015-05-08 18:04:58.774727274 -0400
@@ -205,8 +205,8 @@
 
 kthread_t *seg_pasync_thr;
 
-extern struct seg_ops segvn_ops;
-extern struct seg_ops segspt_shmops;
+extern const struct seg_ops segvn_ops;
+extern const struct seg_ops segspt_shmops;
 
 #define	IS_PFLAGS_WIRED(flags) ((flags) & SEGP_FORCE_WIRED)
 #define	IS_PCP_WIRED(pcp) IS_PFLAGS_WIRED((pcp)->p_flags)
--- old/usr/src/uts/common/vm/vm_usage.c	2015-05-08 18:04:59.041658541 -0400
+++ new/usr/src/uts/common/vm/vm_usage.c	2015-05-08 18:04:59.049102960 -0400
@@ -297,8 +297,8 @@
 extern struct as kas;
 extern proc_t *practive;
 extern zone_t *global_zone;
-extern struct seg_ops segvn_ops;
-extern struct seg_ops segspt_shmops;
+extern const struct seg_ops segvn_ops;
+extern const struct seg_ops segspt_shmops;
 
 static vmu_data_t vmu_data;
 static kmem_cache_t *vmu_bound_cache;
--- old/usr/src/uts/i86pc/io/rootnex.c	2015-05-08 18:04:59.313168903 -0400
+++ new/usr/src/uts/i86pc/io/rootnex.c	2015-05-08 18:04:59.320859756 -0400
@@ -345,7 +345,7 @@
 /*
  *  extern hacks
  */
-extern struct seg_ops segdev_ops;
+extern const struct seg_ops segdev_ops;
 extern int ignore_hardware_nodes;	/* force flag from ddi_impl.c */
 #ifdef	DDI_MAP_DEBUG
 extern int ddi_map_debug_flag;
--- old/usr/src/uts/i86xpv/vm/seg_mf.c	2015-05-08 18:04:59.694503809 -0400
+++ new/usr/src/uts/i86xpv/vm/seg_mf.c	2015-05-08 18:04:59.702027509 -0400
@@ -99,7 +99,7 @@
 	segmf_map_t	*map;
 };
 
-static struct seg_ops segmf_ops;
+static const struct seg_ops segmf_ops;
 
 static int segmf_fault_gref_range(struct seg *seg, caddr_t addr, size_t len);
 
@@ -736,7 +736,7 @@
 	return (0);
 }
 
-static struct seg_ops segmf_ops = {
+static const struct seg_ops segmf_ops = {
 	.dup		= segmf_dup,
 	.unmap		= segmf_unmap,
 	.free		= segmf_free,
--- old/usr/src/uts/sparc/v9/vm/seg_nf.c	2015-05-08 18:04:59.919670219 -0400
+++ new/usr/src/uts/sparc/v9/vm/seg_nf.c	2015-05-08 18:04:59.926909000 -0400
@@ -77,7 +77,7 @@
 		    struct page ***ppp, enum lock_type type, enum seg_rw rw);
 
 
-struct seg_ops segnf_ops = {
+const struct seg_ops segnf_ops = {
 	.dup		= segnf_dup,
 	.unmap		= segnf_unmap,
 	.free		= segnf_free,
--- old/usr/src/uts/sun4/io/rootnex.c	2015-05-08 18:05:00.136247751 -0400
+++ new/usr/src/uts/sun4/io/rootnex.c	2015-05-08 18:05:00.143708257 -0400
@@ -719,7 +719,7 @@
     struct hat *hat, struct seg *seg, caddr_t addr,
     struct devpage *dp, pfn_t pfn, uint_t prot, uint_t lock)
 {
-	extern struct seg_ops segdev_ops;
+	extern const struct seg_ops segdev_ops;
 
 	DPRINTF(ROOTNEX_MAP_DEBUG, ("rootnex_map_fault: address <%p> "
 	    "pfn <%lx>", (void *)addr, pfn));
