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

vm: Fix vm::unmap #10855

Merged
merged 1 commit into from Sep 13, 2021
Merged

vm: Fix vm::unmap #10855

merged 1 commit into from Sep 13, 2021

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Sep 11, 2021

  • Make vm::unmap atomic, squash the memory unmapping process inside this function while still using the same VM mutex ownership. (previously the unmapping process was executed in the block destructor after this function finishes, if the last shared_ptr went out of scope)
  • Make vm::unmap not fail due to random vm::get calls, shared_ptr reference count is no longer a condition.
  • Fix sys_mmapper_free_address spuriously failing with EBUSY due to random vm::get calls.
  • Fix sys_vm_unmap race condition due to non-atomic vm::unmap.
  • Add an optional verification block ptr arg to vm::unmap, used by patches.

@elad335 elad335 force-pushed the vm-unmap branch 3 times, most recently from 4c1ec8a to d54045d Compare September 11, 2021 05:59
* Make vm::unmap atomic, squash the memory unmapping process inside this function while still using the same VM mutex ownership.
* Make vm::unmap not fail due to random vm::get calls, shared_ptr reference count is no longer a condition.
* Fix sys_mmapper_free_address spuriously failing with EBUSY due to random vm::get calls.
* Fix sys_vm_unmap race condition due to non-atomic vm::unmap.
* Add an optional verification block ptr arg to vm::unmap, used by patches.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants