diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 1688782f3dfb83f8442c751c11afca8b76654968..efd3c2bccf81413cb0b8aed873c8571878e75117 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -4208,10 +4208,13 @@ void free_ftrace_func_mapper(struct ftrace_func_mapper *mapper, struct ftrace_func_entry *entry; struct ftrace_func_map *map; struct hlist_head *hhd; - int size = 1 << mapper->hash.size_bits; - int i; + int size, i; + + if (!mapper) + return; if (free_func && mapper->hash.count) { + size = 1 << mapper->hash.size_bits; for (i = 0; i < size; i++) { hhd = &mapper->hash.buckets[i]; hlist_for_each_entry(entry, hhd, hlist) {