created | 2022-11-06T04:07:04Z |
---|---|
begin | 2022-11-04T00:00:00Z |
end | 2022-11-05T00:00:00Z |
path | src/sys |
commits | 2 |
date | 2022-11-04T09:36:44Z | |||
---|---|---|---|---|
author | mpi | |||
files | src/sys/uvm/uvm_addr.c | log | diff | annotate |
src/sys/uvm/uvm_fault.c | log | diff | annotate | |
src/sys/uvm/uvm_map.c | log | diff | annotate | |
src/sys/uvm/uvm_map.h | log | diff | annotate | |
message |
Assert the VM map lock is held in function used by mmap/mprotect/munmap. Also grab the lock in uvm_map_teardown() and uvm_map_deallocate() to satisfy the assertions. Grabbing the lock there shouldn't be strictly necessary, because no other reference to the map should exist when the reaper is holding it, but it doesn't hurt and makes our life easier. Inputs & tests from Ivo van der Sangen, tb@, gnezdo@, kn@ kettenis@ and tb@ agree with the direction, ok kn@ |
date | 2022-11-04T16:49:31Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/amd64/amd64/efi_machdep.c | log | diff | annotate |
src/sys/arch/amd64/amd64/locore.S | log | diff | annotate | |
src/sys/arch/amd64/amd64/trap.c | log | diff | annotate | |
message |
EFI firmware has bugs which may mean that calling EFI runtime services will fault because it does memory accesses outside of the regions it told us to map. Try to mitigate this by installing a fault handler (using the pcb_onfault mechanism) and bail out using longjmp(9) if we encounter a page fault while executing an EFI runtime services call. Since some firmware bugs result in us executing code that isn't mapped, make kpageflttrap() handle execution faults as well as data faults. ok guenther@ |