From 7797a384236cee31b924d27d8f814ef9543662cd Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Thu, 11 Jul 2019 05:41:59 -0400 Subject: another test, to help with locking exercises --- kernel/kalloc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'kernel/kalloc.c') diff --git a/kernel/kalloc.c b/kernel/kalloc.c index afadb02..d72e0ab 100644 --- a/kernel/kalloc.c +++ b/kernel/kalloc.c @@ -55,8 +55,9 @@ kfree(void *pa) // Fill with junk to catch dangling refs. memset(pa, 1, PGSIZE); - acquire(&kmem.lock); r = (struct run*)pa; + + acquire(&kmem.lock); r->next = kmem.freelist; kmem.freelist = r; release(&kmem.lock); @@ -75,6 +76,7 @@ kalloc(void) if(r) kmem.freelist = r->next; release(&kmem.lock); + if(r) memset((char*)r, 5, PGSIZE); // fill with junk return (void*)r; -- cgit v1.2.3