summaryrefslogtreecommitdiff
path: root/vm/vm_page.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2013-07-20 11:09:10 +0200
committerRichard Braun <rbraun@sceen.net>2013-07-20 11:09:10 +0200
commit0cae1081e94c3831b8275f1aba17f5ffbae78446 (patch)
tree6e096ea25e8a0f4a75554d51109f01cbf7d3fb90 /vm/vm_page.c
parenta4ba28a2d3cddb3768215e70a2d5a31fe841320a (diff)
vm/vm_page: increase page address checks on load
Make sure all addresses are page-aligned. Prevent page 0 from being loaded. This makes sure there is no valid struct vm_page for this physical address.
Diffstat (limited to 'vm/vm_page.c')
-rw-r--r--vm/vm_page.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/vm/vm_page.c b/vm/vm_page.c
index fdc1fed..9b529bc 100644
--- a/vm/vm_page.c
+++ b/vm/vm_page.c
@@ -478,6 +478,11 @@ vm_page_load(const char *name, phys_addr_t start, phys_addr_t end,
unsigned int i;
assert(name != NULL);
+ assert(vm_page_aligned(start));
+ assert(vm_page_aligned(end));
+ assert(vm_page_aligned(avail_start));
+ assert(vm_page_aligned(avail_end));
+ assert(start >= PAGE_SIZE);
assert(start < end);
assert(seg_index < ARRAY_SIZE(vm_page_segs));
assert(seglist_prio < ARRAY_SIZE(vm_page_seg_lists));