memobj_anon, protect: use vregion_base and _off correctly
authorMoritz Hoffmann <moritzho@inf.ethz.ch>
Wed, 11 Mar 2015 17:44:28 +0000 (18:44 +0100)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 11 Jun 2015 15:49:39 +0000 (17:49 +0200)
Signed-off-by: Moritz Hoffmann <moritzho@inf.ethz.ch>

lib/barrelfish/vspace/memobj_anon.c

index ef55ba3..f4db574 100644 (file)
@@ -152,7 +152,7 @@ static errval_t protect(struct memobj *memobj, struct vregion *vregion,
 
     //printf("(%s:%d) protect(0x%"PRIxGENVADDR", memobj->size = %zd) vregion size = %zd offset=%zd range=%zd\n", __FILE__, __LINE__, vregion_base + vregion_off, memobj->size, vregion_size, offset, range);
 
-    offset += vregion_base + vregion_off;
+    offset += vregion_off;
 
     // protect all affected frames
     struct memobj_frame_list *fwalk = anon->frame_list;
@@ -164,10 +164,10 @@ static errval_t protect(struct memobj *memobj, struct vregion *vregion,
         if (offset >= fwalk->offset && offset < fwalk->offset + fwalk->size) {
 
             size_t range_in_frame = fwalk->offset + fwalk->size - offset;
-            size_t min = range_in_frame < range ? range_in_frame : range;
+            size_t size = range_in_frame < range ? range_in_frame : range;
 
             size_t retsize;
-            err = pmap->f.modify_flags(pmap, offset, min, flags, &retsize);
+            err = pmap->f.modify_flags(pmap, vregion_base + offset, size, flags, &retsize);
             if (err_is_fail(err)) {
                 return err_push(err, LIB_ERR_PMAP_MODIFY_FLAGS);
             }