-
Notifications
You must be signed in to change notification settings - Fork 211
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
Fixing VMO/VMAR #170
Comments
And recover a simple version of VMO (#76), even if it will fail many core-tests. |
Let's do some simple fixes first.
|
We somehow handles permission of a VmMapping incorrectly. We should storage a limitation of permission in the VmMapping, and allowing increasing premission with zx_vmar_protect . |
zx_vmar_protect is actually doing nothing. I attempted to fix it but since it do not support partially protect a VmMapping it will break at startup. |
Currently there is a workaround in |
Another easy fix: vmar.*_memory should limit length with map size |
zx_vmar_protect somehow works now when I modified how the flags of each page storaged. |
It seems the content of the vmo is not correct if we do not always map the vmo in the page table(!) See core-test VmoClone2TestCase.ManyCloneMappingOffset The first issue is: we should not map the page as writable when we page fault when reading the page, otherwise we will breaks the copy-on-write semantic. |
It should be possible to commit the page in vmo when we are copying things to user space! (See core-test VmoTestCase.MapRead etc.) |
There are still many failed vmar/vmo related core-test. Also, the attempt to run rustc on Linux mode of zCore failed due to mmap related issue. I believe these are related. We should revisited our VMO/VMAR implementation now.
The text was updated successfully, but these errors were encountered: