summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2016-08-08 13:06:38 -0400
committerRobert Morris <[email protected]>2016-08-08 13:06:38 -0400
commit0a4a4230a32696ef7f1f6272ca24520826195b7f (patch)
tree141ab2a59646c6e3799f7d8537eea001ca43a659 /vm.c
parent50edfe1412e5389ce4e3078b223e7b2e72e6ba66 (diff)
downloadxv6-labs-0a4a4230a32696ef7f1f6272ca24520826195b7f.tar.gz
xv6-labs-0a4a4230a32696ef7f1f6272ca24520826195b7f.tar.bz2
xv6-labs-0a4a4230a32696ef7f1f6272ca24520826195b7f.zip
shell nits
fix Regehr complaint
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/vm.c b/vm.c
index 5326d14..85f6ce2 100644
--- a/vm.c
+++ b/vm.c
@@ -237,7 +237,12 @@ allocuvm(pde_t *pgdir, uint oldsz, uint newsz)
return 0;
}
memset(mem, 0, PGSIZE);
- mappages(pgdir, (char*)a, PGSIZE, v2p(mem), PTE_W|PTE_U);
+ if(mappages(pgdir, (char*)a, PGSIZE, v2p(mem), PTE_W|PTE_U) < 0){
+ cprintf("allocuvm out of memory (2)\n");
+ deallocuvm(pgdir, newsz, oldsz);
+ kfree(mem);
+ return 0;
+ }
}
return newsz;
}