Print this page
const-ify make segment ops structures
There is no reason to keep the segment ops structures writable.
patch lower-case-segops

@@ -1481,11 +1481,11 @@
                  * care about the actual size of the segment so we use the
                  * reserved size. If the segment's size is zero, there's
                  * something fishy going on so we ignore this segment.
                  */
                 if (seg->s_ops != &segvn_ops ||
-                    SEGOP_GETVP(seg, seg->s_base, &mvp) != 0 ||
+                    segop_getvp(seg, seg->s_base, &mvp) != 0 ||
                     mvp == lastvp || mvp == NULL || mvp->v_type != VREG ||
                     (segsize = pr_getsegsize(seg, 1)) == 0)
                         continue;
 
                 eaddr = saddr + segsize;

@@ -1883,11 +1883,11 @@
         i = 2;
         for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
                 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;
                         size_t size;
                         int type;

@@ -1912,11 +1912,11 @@
                                 v[i].p_flags |= PF_X;
 
                         /*
                          * Figure out which mappings to include in the core.
                          */
-                        type = SEGOP_GETTYPE(seg, saddr);
+                        type = segop_gettype(seg, saddr);
 
                         if (saddr == stkbase && size == stksize) {
                                 if (!(content & CC_CONTENT_STACK))
                                         goto exclude;
 

@@ -1939,22 +1939,22 @@
                         } else if (type & MAP_SHARED) {
                                 if (shmgetid(p, saddr) != SHMID_NONE) {
                                         if (!(content & CC_CONTENT_SHM))
                                                 goto exclude;
 
-                                } else if (SEGOP_GETVP(seg, seg->s_base,
+                                } else if (segop_getvp(seg, seg->s_base,
                                     &mvp) != 0 || mvp == NULL ||
                                     mvp->v_type != VREG) {
                                         if (!(content & CC_CONTENT_SHANON))
                                                 goto exclude;
 
                                 } else {
                                         if (!(content & CC_CONTENT_SHFILE))
                                                 goto exclude;
                                 }
 
-                        } else if (SEGOP_GETVP(seg, seg->s_base, &mvp) != 0 ||
+                        } else if (segop_getvp(seg, seg->s_base, &mvp) != 0 ||
                             mvp == NULL || mvp->v_type != VREG) {
                                 if (!(content & CC_CONTENT_ANON))
                                         goto exclude;
 
                         } else if (prot == (PROT_READ | PROT_EXEC)) {