aboutsummaryrefslogtreecommitdiff
path: root/kernel/vm/shadow.c
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2024-05-15 05:55:30 +0000
committersotech117 <michael_foiani@brown.edu>2024-05-15 05:55:30 +0000
commit81905c31a0033ad447720cc1f36b8ef90be1a3ac (patch)
treef5f9d1324d0affc6fb54be570e2e2f342667c5c0 /kernel/vm/shadow.c
parentaf9104c3e6b6693e0f5e39361048b572c7031794 (diff)
add locks to fix some tests
Diffstat (limited to 'kernel/vm/shadow.c')
-rw-r--r--kernel/vm/shadow.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/vm/shadow.c b/kernel/vm/shadow.c
index 2f875d6..3194c5b 100644
--- a/kernel/vm/shadow.c
+++ b/kernel/vm/shadow.c
@@ -90,7 +90,9 @@ mobj_t *shadow_create(mobj_t *shadowed)
}
// init the other fields
mobj_ref(so->shadowed);
+ mobj_lock(so->bottom_mobj);
mobj_ref(so->bottom_mobj);
+ mobj_unlock(so->bottom_mobj);
// init and lock the shadow object
mobj_init(&so->mobj, MOBJ_SHADOW, &shadow_mobj_ops);
@@ -118,6 +120,8 @@ void shadow_collapse(mobj_t *o)
{
// NOT_YET_IMPLEMENTED("VM: shadow_collapse");
+ return;
+
mobj_shadow_t *so = MOBJ_TO_SO(o);
mobj_t *next = so->shadowed;
while(next && next->mo_type==MOBJ_SHADOW)