Print this page
patch as-lock-macro-simplification

@@ -1482,21 +1482,21 @@
                          * from /dev/null.  The mapping is from
                          * /dev/null if the mapping comes from
                          * segdev and the type is neither MAP_SHARED
                          * nor MAP_PRIVATE.
                          */
-                        AS_LOCK_ENTER(as, &as->a_lock, RW_READER);
+                        AS_LOCK_ENTER(as, RW_READER);
                         seg = as_findseg(as, myaddr, 0);
                         MOBJ_STAT_ADD(exec_addr_mapped);
                         if (seg && seg->s_ops == &segdev_ops &&
                             ((SEGOP_GETTYPE(seg, myaddr) &
                             (MAP_SHARED | MAP_PRIVATE)) == 0) &&
                             myaddr >= seg->s_base &&
                             myaddr + mylen <=
                             seg->s_base + seg->s_size) {
                                 MOBJ_STAT_ADD(exec_addr_devnull);
-                                AS_LOCK_EXIT(as, &as->a_lock);
+                                AS_LOCK_EXIT(as);
                                 (void) as_unmap(as, myaddr, mylen);
                                 ret = as_map(as, myaddr, mylen, segvn_create,
                                     &crargs);
                                 mrp[i].mr_flags |= MR_RESV;
                                 if (ret) {

@@ -1505,11 +1505,11 @@
                                         mmapobj_unmap_exec(mrp, i + 1,
                                             start_addr);
                                         return (ret);
                                 }
                         } else {
-                                AS_LOCK_EXIT(as, &as->a_lock);
+                                AS_LOCK_EXIT(as);
                                 as_rangeunlock(as);
                                 mmapobj_unmap_exec(mrp, i, start_addr);
                                 MOBJ_STAT_ADD(exec_addr_in_use);
                                 return (EADDRINUSE);
                         }