diff options
-rw-r--r-- | kernel/arch/i386/mmu.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/arch/i386/mmu.c b/kernel/arch/i386/mmu.c index c38d834..a59eccf 100644 --- a/kernel/arch/i386/mmu.c +++ b/kernel/arch/i386/mmu.c @@ -127,6 +127,9 @@ Page *get_page(void *ptr, PageDirectory *directory, int create_new_page, } } Page *p = &directory->tables[table_index]->pages[address % 1024]; + if (!p->present && !create_new_page) { + return 0; + } if (create_new_page) { p->present = 0; p->user = set_user; |