diff options
author | kib <kib@FreeBSD.org> | 2018-02-21 11:26:59 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2018-02-21 11:26:59 +0000 |
commit | 2e04817ac14f516559a37206b49d511fba2a36c5 (patch) | |
tree | c52b53e47642c57ca0dc5730c4c73a15ef10de41 | |
parent | 8849b80536574d21397f8c8f7c18bd38c5cedcd0 (diff) | |
download | FreeBSD-src-2e04817ac14f516559a37206b49d511fba2a36c5.zip FreeBSD-src-2e04817ac14f516559a37206b49d511fba2a36c5.tar.gz |
MFC r329252:
Do not call pmap_enter() with invalid protection mode.
-rw-r--r-- | sys/vm/vm_fault.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 92c761b..9a1dd31 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1217,6 +1217,12 @@ readrest: * write-enabled after all. */ prot &= retry_prot; + fault_type &= retry_prot; + if (prot == 0) { + release_page(&fs); + unlock_and_deallocate(&fs); + goto RetryFault; + } } } |