Print this page
patch as-lock-macro-simplification

@@ -8368,11 +8368,11 @@
          * locked) to be allowed for LONGTERM.
          */
         if (flags & DDI_UMEMLOCK_LONGTERM) {
                 extern  struct seg_ops segspt_shmops;
                 extern  struct seg_ops segdev_ops;
-                AS_LOCK_ENTER(as, &as->a_lock, RW_READER);
+                AS_LOCK_ENTER(as, RW_READER);
                 for (seg = as_segat(as, addr); ; seg = AS_SEGNEXT(as, seg)) {
                         if (seg == NULL || seg->s_base > addr + len)
                                 break;
                         if (seg->s_ops == &segdev_ops)
                                 continue;

@@ -8381,18 +8381,18 @@
                             ((SEGOP_GETVP(seg, addr, &vp) == 0 &&
                             vp != NULL && vp->v_type == VREG) &&
                             (SEGOP_GETTYPE(seg, addr) & MAP_SHARED))) {
                                 as_pageunlock(as, p->pparray,
                                     addr, len, p->s_flags);
-                                AS_LOCK_EXIT(as, &as->a_lock);
+                                AS_LOCK_EXIT(as);
                                 umem_decr_devlockmem(p);
                                 kmem_free(p, sizeof (struct ddi_umem_cookie));
                                 *cookie = (ddi_umem_cookie_t)NULL;
                                 return (EFAULT);
                         }
                 }
-                AS_LOCK_EXIT(as, &as->a_lock);
+                AS_LOCK_EXIT(as);
         }
 
 
         /* Initialize the fields in the ddi_umem_cookie */
         p->cvaddr = addr;