summaryrefslogtreecommitdiff
path: root/libhurd-mm/storage.c
diff options
context:
space:
mode:
Diffstat (limited to 'libhurd-mm/storage.c')
-rw-r--r--libhurd-mm/storage.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/libhurd-mm/storage.c b/libhurd-mm/storage.c
index 8a20977..0aeb46e 100644
--- a/libhurd-mm/storage.c
+++ b/libhurd-mm/storage.c
@@ -297,6 +297,7 @@ shadow_setup (struct cap *cap, struct storage_desc *desc)
desc->shadow = shadow;
cap->type = cap_folio;
+ CAP_SET_SUBPAGE (cap, 0, 1);
cap_set_shadow (cap, shadow);
if (idx != -1)
@@ -305,7 +306,6 @@ shadow_setup (struct cap *cap, struct storage_desc *desc)
CAP_PROPERTIES_SET (&shadow->caps[idx],
CAP_PROPERTIES (OBJECT_POLICY_DEFAULT,
CAP_ADDR_TRANS_VOID));
- cap_set_shadow (&shadow->caps[idx], shadow);
}
}
@@ -644,10 +644,6 @@ storage_alloc (addr_t activity,
({
slot->type = type;
cap_set_shadow (slot, NULL);
- if (type == cap_page || type == cap_rpage)
- cap_set_shadow (slot,
- ADDR_TO_PTR (addr_extend (addr,
- 0, PAGESIZE_LOG2)));
CAP_POLICY_SET (slot, policy);
}));
if (! ret)