mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-18 10:35:55 +00:00
On exec(2), when loading the ELF image, pmap_enter_object() is
called to prefault pages. This is an obvious place for making sure the I-cache is coherent. It was missing though. As such, execution over NFS and ZFS file systems was failing. NFS was fixed the wrong way (by flushing the D-cache as part of the NFS code) in a previous commit. ZFS problems were encountered after that and indicated that something else was wrong... Approved by: re (kib)
This commit is contained in:
parent
6a7bff2c31
commit
1ed01448fb
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=195625
@ -1733,6 +1733,9 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
|
||||
pmap_pte_prot(pmap, pte,
|
||||
prot & (VM_PROT_READ | VM_PROT_EXECUTE));
|
||||
pmap_set_pte(pte, va, VM_PAGE_TO_PHYS(m), FALSE, managed);
|
||||
|
||||
if (prot & VM_PROT_EXECUTE)
|
||||
ia64_sync_icache(va, PAGE_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user