diff --git a/mm/percpu.c b/mm/percpu.c index 2139e30..cbbc946 100644 --- a/mm/percpu.c +++ b/mm/percpu.c @@ -1097,7 +1097,12 @@ struct pcpu_alloc_info * __init pcpu_alloc_alloc_info(int nr_groups, */ void __init pcpu_free_alloc_info(struct pcpu_alloc_info *ai) { - memblock_free_early(__pa(ai), ai->__ai_size); + /* This patch is unacceptable, as it broken other arch. + * It was created to explain why commit 3189eddbcafc ("percpu: + * free percpu allocation info for uniprocessor system") cause + * crisv32 panic. PLEASE DO NOT APPLY THIS PATCH. + */ + memblock_free_early((unsigned long)(ai), ai->__ai_size); } /** @@ -1932,6 +1937,8 @@ void __init setup_per_cpu_areas(void) if (pcpu_setup_first_chunk(ai, fc) < 0) panic("Failed to initialize percpu areas."); + + pcpu_free_alloc_info(ai); } #endif /* CONFIG_SMP */