From befadb5a31a013a95802478d45707f49043a773c Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
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/slab.c')

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