ManyThreads / mythos

Many Threads Operating System
https://manythreads.github.io/mythos/
MIT License
16 stars 3 forks source link

CapMap deletion #195

Closed gypsephi closed 3 years ago

gypsephi commented 3 years ago

When allocating a capmap, only a refernce cabability is provided to the user. This prevents cyclic dependencies between capmaps which would cause trouble when deleting those capmaps. Unfortunately, this prohibits the user to delete capmaps at all, because the user does not own the original capability of the capmap. When dynamically creating and destroying processes a capmap deletion mechanism is required.

Please find and implement a way to delete capmaps while still preventing harmful cyclic dependencies. (e.g. special deletion invokation that is able to delete the capmap without requiring the original capability)

kubanrob commented 3 years ago

The way we intended to do that, was sending a invocation to the CapMap which replies with an deletion response referencing its internal CapEntry. Unfortunately we never implemented that, considering we theoretically could delete the CapMap by revoking it's memory.