Re: [PATCH] asm-generic/io.h: remove unnecessary #include of <linux/vmalloc.h>

From: Michal Hocko
Date: Tue May 09 2017 - 09:41:09 EST


On Tue 09-05-17 15:16:20, Tobias Klauser wrote:
> On 2017-05-09 at 11:02:07 +0200, Michal Hocko <mhocko@xxxxxxxxxx> wrote:
> > On Tue 09-05-17 10:50:45, Tobias Klauser wrote:
> > > After commit 1f5307b1e094 ("mm, vmalloc: properly track vmalloc users")
> > > the build for ARCH=nios2 fails with:
> > >
> > > In file included from ./include/asm-generic/io.h:767:0,
> > > from ./arch/nios2/include/asm/io.h:61,
> > > from ./include/linux/io.h:25,
> > > from ./arch/nios2/include/asm/pgtable.h:18,
> > > from ./include/linux/mm.h:70,
> > > from ./include/linux/pid_namespace.h:6,
> > > from ./include/linux/ptrace.h:9,
> > > from ./arch/nios2/include/uapi/asm/elf.h:23,
> > > from ./arch/nios2/include/asm/elf.h:22,
> > > from ./include/linux/elf.h:4,
> > > from ./include/linux/module.h:15,
> > > from init/main.c:16:
> > > ./include/linux/vmalloc.h: In function '__vmalloc_node_flags':
> > > ./include/linux/vmalloc.h:99:40: error: 'PAGE_KERNEL' undeclared (first use in this function); did you mean 'GFP_KERNEL'?
> > >
> > > which is due to the newly added #include <asm/pgtable.h>, which on nios2
> > > includes <linux/io.h> and thus <asm/io.h> and <asm-generic/io.h> which
> > > again includes <linux/vmalloc.h>.
> > >
> > > It turns out the #include <linux/vmalloc.h> in <asm-generic/io.h> isn't
> > > necessary at all since none of it definitions are used there, so remove
> > > it alltogether.
> >
> > Thanks for your fix but I have already posted a different one [1] which
> > doesn't include pgtable.h because this turned out to be a problem on
> > m68k already. I am just waiting for Andrew to drop the previous patch
> > and replace it with the one pointed out.
> >
> > [1] http://lkml.kernel.org/r/20170503063750.GC1236@xxxxxxxxxxxxxx
>
> Thanks for the info. Though it looks like your original patch already
> made it into Linus' tree as commit 1f5307b1e094.

Ups! I though Andrew would leave it for later as it had compilation
issues.

> As for my patch, please disregard - it lead to several build regressions
> with the kernel build bot.

Yeah, I've learned that as well, so I've rather came with a different
solution. I will poke Andrew to marge a fix ASAP.
--
Michal Hocko
SUSE Labs