提问人:jan 提问时间:11/9/2023 最后编辑:jan 更新时间:11/10/2023 访问量:29
xv6 中进程表的安全问题
Security issues of process table in xv6
问:
我正在尝试使用动态分配的进程结构的双链表实现 xv6 的进程表。对于内存分配,我使用自制的好友分配器。
据我了解,xv6 的 vanilla 实现将固定数量的进程的内核堆栈映射到内核内存,然后是未映射的页面(参见宏)。KSTACK()
/* vm.c */
vmmake(void){
...
proc_mapstacks(kpgtbl)
...
}
因此,在我的实现中,内核堆栈将分配在堆的某个位置(实际上),并且可能不如平面内核内存中的内核堆栈安全。kalloc
bd_malloc(PAGESIZE)
是否值得担心,原始riscv版本中还可能出现和存在哪些安全问题?
我没有为这些堆栈分配额外的未映射页面,这可能很重要。我没有在 xv6-book 或任何关于 vanilla xv6 漏洞的文章中找到解释。
答: 暂无答案
评论