summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/arch/i386/mmu.c3
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;