From befadb5a31a013a95802478d45707f49043a773c Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 14 Aug 2023 22:08:10 +0200 Subject: pmap+slab: Add more smoketests Checking the range of addresses for operations on the kernel_pmap is quite cheap, and allows to catch oddities quite early enough. --- kern/slab.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'kern') diff --git a/kern/slab.c b/kern/slab.c index 7cb4ee27..ee51f9e9 100644 --- a/kern/slab.c +++ b/kern/slab.c @@ -416,6 +416,9 @@ kmem_pagealloc_virtual(vm_size_t size, vm_size_t align) static void kmem_pagefree_virtual(vm_offset_t addr, vm_size_t size) { + if (addr < kernel_virtual_start || addr + size > kernel_virtual_end) + panic("kmem_pagefree_virtual(%lx-%lx) falls in physical memory area!\n", + (unsigned long) addr, (unsigned long) addr + size); assert(size > PAGE_SIZE); size = vm_page_round(size); kmem_free(kernel_map, addr, size); -- cgit v1.2.3