From 08a3102c0b314b83fe8bfbf200a05ef2c6836349 Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Mon, 22 Apr 2013 09:02:23 +0000 Subject: [PATCH] Panic if UMA_ZONE_PCPU is created at early stages of boot, when mp_ncpus isn't yet initialized. Otherwise we will panic at first allocation later. Sponsored by: Nginx, Inc. --- sys/vm/uma_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index a9d0c6640896..1db6bdaaaab9 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -1139,6 +1139,7 @@ keg_small_init(uma_keg_t keg) u_int shsize; if (keg->uk_flags & UMA_ZONE_PCPU) { + KASSERT(mp_ncpus > 0, ("%s: ncpus %d\n", __func__, mp_ncpus)); keg->uk_slabsize = sizeof(struct pcpu); keg->uk_ppera = howmany(mp_ncpus * sizeof(struct pcpu), PAGE_SIZE);