aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2014-05-06 12:35:19 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2014-05-06 12:35:19 +0000
commite6b5011f23ec27602fb6e6886bce8fedb87da3cd (patch)
tree35cd08c7173b84c68efaecfd5f3225d204412792 /sys/vm
parent5e01bf73c348561805403b6cb02d7f47223b792e (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_phys.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c
index d367a330c872..67d3fd6516f5 100644
--- a/sys/vm/vm_phys.c
+++ b/sys/vm/vm_phys.c
@@ -600,7 +600,9 @@ vm_phys_fictitious_reg_range(vm_paddr_t start, vm_paddr_t end,
#ifdef VM_PHYSSEG_DENSE
pi = atop(start);
- if (pi >= first_page && atop(end) < vm_page_array_size) {
+ if (pi >= first_page && pi < vm_page_array_size + first_page) {
+ if (atop(end) >= vm_page_array_size + first_page)
+ return (EINVAL);
fp = &vm_page_array[pi - first_page];
malloced = FALSE;
} else