Skip to content

Commit 955dbc2

Browse files
committed
align in the pagefault handler all pages to a huge page boundary
1 parent f825741 commit 955dbc2

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

arch/x86_64/mm/page.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ void page_fault_handler(struct state *s)
264264
}
265265

266266
// on demand userspace heap mapping
267-
viraddr &= PAGE_MASK;
267+
viraddr &= HUGE_PAGE_MASK;
268268

269269
size_t phyaddr = expect_zeroed_pages ? get_zeroed_huge_page() : get_huge_page();
270270
if (BUILTIN_EXPECT(!phyaddr, 0)) {
@@ -305,7 +305,7 @@ void page_fault_handler(struct state *s)
305305
LOG_ERROR("rax %#lx, rbx %#lx, rcx %#lx, rdx %#lx, rbp, %#lx, rsp %#lx rdi %#lx, rsi %#lx, r8 %#lx, r9 %#lx, r10 %#lx, r11 %#lx, r12 %#lx, r13 %#lx, r14 %#lx, r15 %#lx\n",
306306
s->rax, s->rbx, s->rcx, s->rdx, s->rbp, s->rsp, s->rdi, s->rsi, s->r8, s->r9, s->r10, s->r11, s->r12, s->r13, s->r14, s->r15);
307307
if (task->heap)
308-
LOG_ERROR("Heap 0x%llx - 0x%llx\n", task->heap->start, task->heap->end);
308+
LOG_ERROR("Heap 0x%zx - 0x%zx\n", task->heap->start, task->heap->end);
309309

310310
// clear cr2 to signalize that the pagefault is solved by the pagefault handler
311311
write_cr2(0);

0 commit comments

Comments
 (0)