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);
}