Re: [PATCH] mm/memblock: add missing include <linux/bootmem.h>

From: Paul Burton
Date: Thu Jun 21 2018 - 14:06:55 EST


Hi Andrew & Stephen,

On Fri, Jun 15, 2018 at 12:17:16PM -0700, Andrew Morton wrote:
> > Sadly that breaks ia64 build:
> >
> > CC mm/memblock.o
> > mm/memblock.c:1340: error: redefinition of âmemblock_virt_alloc_try_nid_rawâ
> > ./include/linux/bootmem.h:335: error: previous definition of
> > âmemblock_virt_alloc_try_nid_rawâ was here
> > mm/memblock.c:1377: error: redefinition of âmemblock_virt_alloc_try_nid_nopanicâ
> > ./include/linux/bootmem.h:343: error: previous definition of
> > âmemblock_virt_alloc_try_nid_nopanicâ was here
> > mm/memblock.c:1413: error: redefinition of âmemblock_virt_alloc_try_nidâ
> > ./include/linux/bootmem.h:327: error: previous definition of
> > âmemblock_virt_alloc_try_nidâ was here
> > make[1]: *** [mm/memblock.o] Error 1
> > make: *** [mm/memblock.o] Error 2
>
> Huh. How did that ever work. I guess it's either this:
<snip>
> and I'm not sure which. I think I'll just revert $subject for now.

This is fine now in master after Andrew's revert, but the problematic
patch is still being picked up in linux-next somehow. This breaks MIPS
builds from linux-next, and presumably the ia64 build too.

I'm not sure I understand how it's picked up - next-20180621 appears to
based atop 1abd8a8f39cd:

$ git show next-20180621:Next/SHA1s | grep -E '^origin\s'
origin 1abd8a8f39cd9a2925149000056494523c85643a

There we have the Andrew's revert:

$ git log --pretty=oneline -n5 1abd8a8f39cd mm/memblock.c
6cc22dc08a247b7b4a173e4561e39705a557d300 revert "mm/memblock: add missing include <linux/bootmem.h>"
0825a6f98689d847ab8058c51b3a55f0abcc6563 mm: use octal not symbolic permissions
69b5086b12cda645d95f00575c25f1dfd1e929ad mm/memblock: add missing include <linux/bootmem.h>
25cf23d7a95716fc6eb165208b5eb2e3b2e86f82 mm/memblock: print memblock_remove
1c4bc43ddfd52cbe5a08bb86ae636f55d2799424 mm/memblock: introduce PHYS_ADDR_MAX

Yet the revert doesn't show up at all in next-20180621..?

$ git log --pretty=oneline -n5 next-20180621 mm/memblock.c
a95f41a659344e221e8ad39e8fbba2e0f419c096 mm: use octal not symbolic permissions
0b558dea04a405800505c7f56eb1638ae761b5d4 mm/memblock: add missing include <linux/bootmem.h>
25cf23d7a95716fc6eb165208b5eb2e3b2e86f82 mm/memblock: print memblock_remove
1c4bc43ddfd52cbe5a08bb86ae636f55d2799424 mm/memblock: introduce PHYS_ADDR_MAX
49a695ba723224875df50e327bd7b0b65dd9a56b Merge tag 'powerpc-4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

I was expecting to see the original commit, then the revert, then
perhaps a re-application of it but instead it looks like the commits
from master are missing entirely after 25cf23d7a957 ("mm/memblock: print
memblock_remove"). Maybe I'm missing something about the way the merges
for linux-next are done..?

In any case, could we get the problematic patch removed from linux-next?

Thanks,
Paul