aboutsummaryrefslogtreecommitdiff
path: root/kernel/vm/shadow.c
diff options
context:
space:
mode:
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)