summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2018-02-21 11:26:59 +0000
committerkib <kib@FreeBSD.org>2018-02-21 11:26:59 +0000
commit2e04817ac14f516559a37206b49d511fba2a36c5 (patch)
treec52b53e47642c57ca0dc5730c4c73a15ef10de41
parent8849b80536574d21397f8c8f7c18bd38c5cedcd0 (diff)
downloadFreeBSD-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.c6
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;
+ }
}
}
OpenPOWER on IntegriCloud