git: 0f9b73ffa50d - main - vm_fault: reset iterator after vm_fault_populate()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 24 Apr 2025 22:23:44 UTC
The branch main has been updated by dougm:
URL: https://cgit.FreeBSD.org/src/commit/?id=0f9b73ffa50d359aedf8afdbb76e2795dbb9906d
commit 0f9b73ffa50d359aedf8afdbb76e2795dbb9906d
Author: Doug Moore <dougm@FreeBSD.org>
AuthorDate: 2025-04-24 22:18:12 +0000
Commit: Doug Moore <dougm@FreeBSD.org>
CommitDate: 2025-04-24 22:23:26 +0000
vm_fault: reset iterator after vm_fault_populate()
Add a call to pctrie_iter_reset after vm_fault_allocate returns to
vm_fault_allocate, since the iterator may be corrupted.
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D49957
---
sys/vm/vm_fault.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 5d21ad58f780..c096bfaffe73 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -1258,6 +1258,7 @@ vm_fault_allocate(struct faultstate *fs, struct pctrie_iter *pages)
vm_fault_unlock_and_deallocate(fs);
return (res);
case FAULT_CONTINUE:
+ pctrie_iter_reset(pages);
/*
* Pager's populate() method
* returned VM_PAGER_BAD.