diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c
--- a/sys/vm/vm_kern.c
+++ b/sys/vm/vm_kern.c
@@ -217,6 +217,8 @@
int cow;
size = round_page(size);
+ if (size == 0)
+ return (0);
if (kmflags & KM_KRESERVE)
count = vm_map_entry_kreserve(MAP_RESERVE_COUNT);