git: fbff6d54da14 - main - vm_phys: Fix vm_phys_find_range() after commit 69cbb18746b6
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 14 Jun 2024 04:19:04 UTC
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=fbff6d54da146e98ec2ce4ebfbb86339d4f9fa21
commit fbff6d54da146e98ec2ce4ebfbb86339d4f9fa21
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2024-06-14 04:09:45 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2024-06-14 04:18:26 +0000
vm_phys: Fix vm_phys_find_range() after commit 69cbb18746b6
vm_phys_seg_paddr_to_vm_page() expects a PA that's in bounds, but
vm_phys_find_range() purposefully returns a pointer to the end of the
last page in a segment.
Fixes: 69cbb18746b6 ("vm_phys: Add a vm_phys_seg_paddr_to_vm_page() helper")
---
sys/vm/vm_phys.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c
index a28b3a40691e..53e58283eb9f 100644
--- a/sys/vm/vm_phys.c
+++ b/sys/vm/vm_phys.c
@@ -1450,7 +1450,7 @@ vm_phys_find_range(vm_page_t bounds[], int segind, int domain,
vm_phys_lazy_init_domain(domain, false);
#endif
bounds[0] = vm_phys_seg_paddr_to_vm_page(seg, pa_start);
- bounds[1] = vm_phys_seg_paddr_to_vm_page(seg, pa_end);
+ bounds[1] = &seg->first_page[atop(pa_end - seg->start)];
return (seg - vm_phys_segs);
}
return (-1);