From f139fff6ae7063c1965fa3085bb2585d7d838d72 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Wed, 30 Oct 2024 13:34:18 +0200 Subject: rpc actually marks and unmarks stack regions + Processes won't be able to read previous stack frames etc --- arch/riscv64/kernel/proc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'arch/riscv64/kernel/proc.c') diff --git a/arch/riscv64/kernel/proc.c b/arch/riscv64/kernel/proc.c index 3ae2e15..ba5c8e7 100644 --- a/arch/riscv64/kernel/proc.c +++ b/arch/riscv64/kernel/proc.c @@ -48,7 +48,8 @@ void run_init(struct tcb *t, vm_t fdt, vm_t initrd) clone_uvmem(r->proc.vmem, t->rpc.vmem); flush_tlb_all(); - vm_t stack_top = t->rpc_stack - BASE_PAGE_SIZE; + /* lore, should probably be codified somewhere */ + vm_t stack_top = get_stack(t); info("jumping to %lx with sp = %lx\n", (long)t->callback, stack_top); bkl_unlock(); -- cgit v1.3