x86_64: Added missing error returns in pmap.
authorSimon Gerber <simugerber@student.ethz.ch>
Thu, 22 Nov 2012 14:58:30 +0000 (15:58 +0100)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Tue, 29 Jan 2013 10:31:08 +0000 (11:31 +0100)
lib/barrelfish/target/x86_32/pmap_target.c
lib/barrelfish/target/x86_64/pmap_target.c

index 03be61d..19483e6 100644 (file)
@@ -280,7 +280,10 @@ static errval_t do_map(struct pmap_x86 *pmap, genvaddr_t vaddr,
 
     if (X86_32_PDIR_BASE(vaddr) == X86_32_PDIR_BASE(vend)) {
         // fast path
-        do_single_map(pmap, vaddr, vend, frame, offset, pte_count, flags);
+        err = do_single_map(pmap, vaddr, vend, frame, offset, pte_count, flags);
+        if (err_is_fail(err)) {
+            return err_push(err, LIB_ERR_PMAP_DO_MAP);
+        }
     }
     else { // multiple leaf page tables
         // first leaf
index 8e053a3..f1bf306 100644 (file)
@@ -290,7 +290,10 @@ static errval_t do_map(struct pmap_x86 *pmap, genvaddr_t vaddr,
 
     if (X86_64_PDIR_BASE(vaddr) == X86_64_PDIR_BASE(vend)) {
         // fast path
-        do_single_map(pmap, vaddr, vend, frame, offset, pte_count, flags);
+        err = do_single_map(pmap, vaddr, vend, frame, offset, pte_count, flags);
+        if (err_is_fail(err)) {
+            return err_push(err, LIB_ERR_PMAP_DO_MAP);
+        }
     }
     else { // multiple leaf page tables
         // first leaf