Kernel: Remove unnecessary assertion in page_in_from_inode().

Turns out I had confused myself about the situation. Just because a page
has been paged in by another process doesn't mean that the *current*
process's page directory has the present bit set! D'oh. :^)
This commit is contained in:
Andreas Kling 2019-02-03 03:04:40 +01:00
parent 3eeff0dd14
commit 2d17fe58bc
Notes: sideshowbarker 2024-07-19 15:53:30 +09:00

View file

@ -304,11 +304,6 @@ bool MemoryManager::page_in_from_inode(Region& region, unsigned page_index_in_re
auto& vmo_page = vmo.physical_pages()[region.first_page_index() + page_index_in_region];
if (!vmo_page.is_null()) {
dbgprintf("MM: Redundant page_in_from_inode in %s(%u), inode=%u, [%u]\n", current->name().characters(), current->pid(), region.vmo().inode()->identifier().index(), page_index_in_region);
ASSERT_NOT_REACHED();
}
bool interrupts_were_enabled = are_interrupts_enabled();
if (!interrupts_were_enabled)
@ -320,7 +315,7 @@ bool MemoryManager::page_in_from_inode(Region& region, unsigned page_index_in_re
cli();
if (!vmo_page.is_null()) {
kprintf("MM: page_in_from_inode was served by someone else while lock was held\n");
kprintf("MM: page_in_from_inode() but page already present. Fine with me!\n");
remap_region_page(region, page_index_in_region, true);
return true;
}