Re: [linux-stable-rc:linux-4.14.y 9946/9999] WARNING: vmlinux.o(.text+0x213438): Section mismatch in reference from the function __rmqueue() to the function .meminit.text:zone_pcp_update()

Mel Gorman
2019-11-12T08:58:19Z

On Tue, Nov 12, 2019 at 02:57:23AM +0800, kbuild test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
> head: 0d12dcf336c606a37cf2ad4319bc59f69eb6c255
> commit: 88284ade98e99e3e391c90b51b8b7420953071d4 [9946/9999] mm, meminit: recalculate pcpu batch and high limits after init completes
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gcc (GCC) 7.4.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> git checkout 88284ade98e99e3e391c90b51b8b7420953071d4
> # save the attached .config to linux build tree
> GCC_VERSION=7.4.0 make.cross ARCH=sparc64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
>
> All warnings (new ones prefixed by >>):
>
> >> WARNING: vmlinux.o(.text+0x213438): Section mismatch in reference from the function __rmqueue() to the function .meminit.text:zone_pcp_update()
> The function __rmqueue() references
> the function __meminit zone_pcp_update().
> This is often because __rmqueue lacks a __meminit
> annotation or the annotation of zone_pcp_update is wrong.
>

Greg,

It's probably best to drop this patch from 4.14-stable for now. In theory,
4.14-stable is affected but deferred meminit went through a lot of changes
and it hasn't been proven it is definitely necessary. I know at least
that a 4.12-based distribution kernel is not affected by the bug but
didn't isolate why given that 4.12-vanilla failed to boot on the test
machines I had access to.

--
Mel Gorman
SUSE Labs