diff --git a/mm/mempool.c b/mm/mempool.c
index 2cc08de8b1db259c70ad8d3aa28d0691f7ada544..4c533bc51d733989f12c9f5e25cad713f647baea 100644
--- a/mm/mempool.c
+++ b/mm/mempool.c
@@ -150,6 +150,9 @@ static void *remove_element(mempool_t *pool)
  */
 void mempool_destroy(mempool_t *pool)
 {
+	if (unlikely(!pool))
+		return;
+
 	while (pool->curr_nr) {
 		void *element = remove_element(pool);
 		pool->free(element, pool->pool_data);