Re: [PATCH] fix arm64 build with lack of __cpu_logical_map exported

From: Catalin Marinas
Date: Sat Aug 08 2020 - 14:35:24 EST


On Sat, Aug 08, 2020 at 05:29:58PM +0200, Greg Kroah-Hartman wrote:
> On Sat, Aug 08, 2020 at 04:05:00PM +0100, Catalin Marinas wrote:
> > On Sat, Aug 08, 2020 at 02:42:42PM +0200, Greg Kroah-Hartman wrote:
> > > diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> > > index 87e81d29e6fb..b421a4756793 100644
> > > --- a/arch/arm64/kernel/setup.c
> > > +++ b/arch/arm64/kernel/setup.c
> > > @@ -275,6 +275,7 @@ static int __init reserve_memblock_reserved_regions(void)
> > > arch_initcall(reserve_memblock_reserved_regions);
> > >
> > > u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
> > > +EXPORT_SYMBOL_GPL(__cpu_logical_map);
> >
> > This was still under discussion, Sudeep preferring an alternative in the
> > driver:
> >
> > http://lkml.kernel.org/r/20200727172744.GD8003@bogus
> > http://lkml.kernel.org/r/20200724131059.GB6521@bogus
> >
> > Sumit came with a new diff inline that fixes the driver instead of
> > exporting the __cpu_logical_map.
> >
> > https://lore.kernel.org/linux-arm-kernel/e3a4bc21-c334-4d48-90b5-aab8d187939e@xxxxxxxxxx/
>
> Ok, but having a broken tree is not nice, how did this survive
> linux-next testing?

I guess defconfig worked ok since tegra194-cpufreq is not a module so we
didn't bother much. The fault was reported for allmodconfig but the
discussion didn't conclude.

> > Sumit, Sudeep, is the above diff sufficient and can it go upstream?
>
> Note that MIPS already export this symbol, so perhaps the drivers that
> need it on that platform should also be fixed the same way?

I push Kefeng's patch to the arm64 for-next/core branch which exports
cpu_logical_map() as a function. We can revert it later is the Tegra
driver is fixed.

I'll send Linus a pull request in a bit, once I finish testing the
branch.

--
Catalin