Print this page
patch lower-case-segops

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/mmapobj.c
          +++ new/usr/src/uts/common/os/mmapobj.c
↓ open down ↓ 1480 lines elided ↑ open up ↑
1481 1481                           * so check to see if it was a "reservation"
1482 1482                           * from /dev/null.  The mapping is from
1483 1483                           * /dev/null if the mapping comes from
1484 1484                           * segdev and the type is neither MAP_SHARED
1485 1485                           * nor MAP_PRIVATE.
1486 1486                           */
1487 1487                          AS_LOCK_ENTER(as, &as->a_lock, RW_READER);
1488 1488                          seg = as_findseg(as, myaddr, 0);
1489 1489                          MOBJ_STAT_ADD(exec_addr_mapped);
1490 1490                          if (seg && seg->s_ops == &segdev_ops &&
1491      -                            ((SEGOP_GETTYPE(seg, myaddr) &
     1491 +                            ((segop_gettype(seg, myaddr) &
1492 1492                              (MAP_SHARED | MAP_PRIVATE)) == 0) &&
1493 1493                              myaddr >= seg->s_base &&
1494 1494                              myaddr + mylen <=
1495 1495                              seg->s_base + seg->s_size) {
1496 1496                                  MOBJ_STAT_ADD(exec_addr_devnull);
1497 1497                                  AS_LOCK_EXIT(as, &as->a_lock);
1498 1498                                  (void) as_unmap(as, myaddr, mylen);
1499 1499                                  ret = as_map(as, myaddr, mylen, segvn_create,
1500 1500                                      &crargs);
1501 1501                                  mrp[i].mr_flags |= MR_RESV;
↓ open down ↓ 948 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX