Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about shadow object #1

Open
MarcoPoloPie opened this issue Sep 7, 2020 · 0 comments
Open

Questions about shadow object #1

MarcoPoloPie opened this issue Sep 7, 2020 · 0 comments

Comments

@MarcoPoloPie
Copy link

Hi,

I have read your paper and it impressed me very much. However, I am still confused about "shadow objects" introduced in your paper.

First, as said in the paper, shadow objects is a work-around of hardware isolation mechanism as its protection unit (page) may contain both distinguishing and non-distinguishing regions. However, since a page is 4KB, is it rare that a page only contains distinguishing regions? In other words, is all the distinguishing regions need to be protected with shadow objects?

Second, you create a shadow slab for each slab and guarantee that each object has the same offset to the page where it is stored on the original slab and shadow slab, is this means for each kmalloc call you have to allocate a shadow object no matter if it belongs to distinguishing regions because the offset would be wrong otherwise?

Third, the write operation to distinguishing regions on the heap will be redirected to shadow objects, so will you update the data of shadow objects to the original objects? if not so, I think read operations would get wrong answers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant