vm_manager: Make vma_map private
This was only ever public so that code could check whether or not a handle was valid or not. Instead of exposing the object directly and allowing external code to potentially mess with the map contents, we just provide a member function that allows checking whether or not a handle is valid. This makes all member variables of the VMManager class private except for the page table.
This commit is contained in:
parent
4d3d2fcebd
commit
d4c1b9d311
5 changed files with 42 additions and 29 deletions
|
@ -125,14 +125,13 @@ void RemoveDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPoin
|
|||
* using a VMA from the current process
|
||||
*/
|
||||
static u8* GetPointerFromVMA(const Kernel::Process& process, VAddr vaddr) {
|
||||
const auto& vm_manager = process.VMManager();
|
||||
|
||||
const auto it = vm_manager.FindVMA(vaddr);
|
||||
ASSERT(vm_manager.IsValidHandle(it));
|
||||
|
||||
u8* direct_pointer = nullptr;
|
||||
|
||||
auto& vm_manager = process.VMManager();
|
||||
|
||||
auto it = vm_manager.FindVMA(vaddr);
|
||||
ASSERT(it != vm_manager.vma_map.end());
|
||||
|
||||
auto& vma = it->second;
|
||||
const auto& vma = it->second;
|
||||
switch (vma.type) {
|
||||
case Kernel::VMAType::AllocatedMemoryBlock:
|
||||
direct_pointer = vma.backing_block->data() + vma.offset;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue