diff --git a/modules/cas_cache/utils/utils_gc.c b/modules/cas_cache/utils/utils_gc.c index d3f7208..8b069ae 100644 --- a/modules/cas_cache/utils/utils_gc.c +++ b/modules/cas_cache/utils/utils_gc.c @@ -3,10 +3,12 @@ * SPDX-License-Identifier: BSD-3-Clause-Clear */ +#include "cas_cache.h" #include "utils_gc.h" #include #if defined (CAS_GARBAGE_COLLECTOR) + struct cas_vfree_item { struct llist_head list; struct work_struct ws; @@ -35,6 +37,9 @@ void cas_vfree(const void *addr) { struct cas_vfree_item *item = this_cpu_ptr(&cas_vfree_item); + if (!addr) + return; + atomic_inc(&freed); if (llist_add((struct llist_node *)addr, &item->list))