From 4de161f973aa06d5f08de1063d3fc9c22e4547e7 Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Fri, 20 Sep 2019 11:35:27 -0400 Subject: don't panic if a program frees all its memory with sbrk(). if a program sbrk()'s to a non-page-boundary, don't free that page. corresponding usertests. --- kernel/proc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'kernel/proc.c') diff --git a/kernel/proc.c b/kernel/proc.c index 786e5c3..0d91a59 100644 --- a/kernel/proc.c +++ b/kernel/proc.c @@ -232,9 +232,7 @@ growproc(int n) return -1; } } else if(n < 0){ - if((sz = uvmdealloc(p->pagetable, sz, sz + n)) == 0) { - return -1; - } + sz = uvmdealloc(p->pagetable, sz, sz + n); } p->sz = sz; return 0; -- cgit v1.2.3