- Fix some style bugs.
- Ensure that the end of the mapping passed to vm_page_wire() is page-aligned. vm_map_wire() expects this.
- Wire pages before reading data into them to ensure that the mapping is backed by resident pages.
- Apply the protections specified in the segment descriptor using vm_map_protect().
- Ensure that on amd64 we load KLDs above KERNBASE.
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Is there any way to enable SPARSE_MAPPING except manually adding #define ?
sys/kern/link_elf.c | ||
---|---|---|
1101 ↗ | (On Diff #62434) | I suspect this is too rough. In principle, the segments need not be page-aligned, and you might remove W or X from a neighbor segment that shares the page with us. I think the easiest would be to refuse loading such objects. |
Comment Actions
No. I'm considering adding a kernel option for it, but it needs a better name than SPARSE_MAPPING IMO.
sys/kern/link_elf.c | ||
---|---|---|
994 ↗ | (On Diff #62474) | I am not sure why we cannot just use kernel_object here. OBJT_DEFAULT doesn't make a lot of sense, since the memory will not be pageable. |