Map ELF segments with zeroed regions as two vmnodes
Previously, we mapped it as one node that spanned all of the pages,
but had a smaller size. This causes a panic when we fault on pages
beyond the size because vmnode::loadpg calls readi with a too-large
offset. We could "fix" loadpg, but what we have now is actually
POSIX-ish behavior (which says faults beyond the end of the mapped
object should signal SIGBUS), so instead we fix the ELF loader to
create two vmnodes in this situation.
This gets usertests running again for me (it now fails at the BSS
test, but at least it starts).
正在显示
请
注册
或者
登录
后发表评论