Security issues of process table in xv6

58 Views Asked by At

I'm trying to implement xv6's process table with double linked list of dynamically allocated process structures. For memory allocations I use home-brewed buddy allocator.

As I understood, xv6's vanilla implementation maps fixed number of processes' kernel stacks to kernel memory followed by unmapped page in (see KSTACK() macro).

/* vm.c */
vmmake(void){
    ...
    proc_mapstacks(kpgtbl)
    ...
}

So, in my implementation kernel stacks will be allocated in some place of heap with kalloc (actually bd_malloc(PAGESIZE)) and may be not such secure as kernel stacks from plane kernel memory.

Is it worth worrying about, what else security issues may appear and exists in original riscv version?

I don't allocate additional unmapped page for these stacks may be it is important. I didn't found explanation in xv6-book or any article of vulnerabilities in vanilla xv6.

0

There are 0 best solutions below