From b2e9c8eea5d4f4edb43ae7be9e15986dbfce5b95 Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Mon, 22 Jul 2019 15:38:08 -0400 Subject: Clear U bit for second stack page so that it functions as a guard page --- kernel/vm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'kernel/vm.c') diff --git a/kernel/vm.c b/kernel/vm.c index 96f2ffa..cbea684 100644 --- a/kernel/vm.c +++ b/kernel/vm.c @@ -436,3 +436,13 @@ kernelpa(uint64 va) { pa = PTE2PA(*pte); return pa+off; } + +void +clearpteu(pagetable_t pagetable, uint64 va) { + pte_t *pte; + + pte = walk(pagetable, va, 0); + if(pte == 0) + panic("clearpteu"); + *pte &= ~PTE_U; +} -- cgit v1.2.3