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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/seg_spt.c
          +++ new/usr/src/uts/common/vm/seg_spt.c
↓ open down ↓ 68 lines elided ↑ open up ↑
  69   69   * the system) they can patch the segspt_minfree to smaller number.
  70   70   */
  71   71  pgcnt_t segspt_minfree = 0;
  72   72  
  73   73  static int segspt_create(struct seg *seg, caddr_t argsp);
  74   74  static int segspt_unmap(struct seg *seg, caddr_t raddr, size_t ssize);
  75   75  static void segspt_free(struct seg *seg);
  76   76  static void segspt_free_pages(struct seg *seg, caddr_t addr, size_t len);
  77   77  static lgrp_mem_policy_info_t *segspt_getpolicy(struct seg *seg, caddr_t addr);
  78   78  
  79      -struct seg_ops segspt_ops = {
       79 +const struct seg_ops segspt_ops = {
  80   80          .unmap          = segspt_unmap,
  81   81          .free           = segspt_free,
  82   82          .getpolicy      = segspt_getpolicy,
  83   83  };
  84   84  
  85   85  static int segspt_shmdup(struct seg *seg, struct seg *newseg);
  86   86  static int segspt_shmunmap(struct seg *seg, caddr_t raddr, size_t ssize);
  87   87  static void segspt_shmfree(struct seg *seg);
  88   88  static faultcode_t segspt_shmfault(struct hat *hat, struct seg *seg,
  89   89                  caddr_t addr, size_t len, enum fault_type type, enum seg_rw rw);
↓ open down ↓ 15 lines elided ↑ open up ↑
 105  105  static int segspt_shmgettype(struct seg *seg, caddr_t addr);
 106  106  static int segspt_shmgetvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
 107  107  static int segspt_shmadvise(struct seg *seg, caddr_t addr, size_t len,
 108  108                          uint_t behav);
 109  109  static void segspt_shmdump(struct seg *seg);
 110  110  static int segspt_shmpagelock(struct seg *, caddr_t, size_t,
 111  111                          struct page ***, enum lock_type, enum seg_rw);
 112  112  static int segspt_shmgetmemid(struct seg *, caddr_t, memid_t *);
 113  113  static lgrp_mem_policy_info_t *segspt_shmgetpolicy(struct seg *, caddr_t);
 114  114  
 115      -struct seg_ops segspt_shmops = {
      115 +const struct seg_ops segspt_shmops = {
 116  116          .dup            = segspt_shmdup,
 117  117          .unmap          = segspt_shmunmap,
 118  118          .free           = segspt_shmfree,
 119  119          .fault          = segspt_shmfault,
 120  120          .faulta         = segspt_shmfaulta,
 121  121          .setprot        = segspt_shmsetprot,
 122  122          .checkprot      = segspt_shmcheckprot,
 123  123          .kluster        = segspt_shmkluster,
 124  124          .sync           = segspt_shmsync,
 125  125          .incore         = segspt_shmincore,
↓ open down ↓ 2913 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX