Re: [PATCH][next] arm64: fix the mm build error in mm/kfence/core.c
From: Marco Elver
Date: Sun Dec 06 2020 - 17:09:41 EST
On Sun, 6 Dec 2020 at 22:23, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> [Cc'd Andrew Morton]
>
> On Sun, 6 Dec 2020 01:22:07 +0800 Hui Su <sh_def@xxxxxxx> wrote:
> >
> > When I build kernel with ARCH=arm64, the building errors came out like
> > this:
> > CC mm/kfence/core.o
> > In file included from ../mm/kfence/core.c:21:
> > ../arch/arm64/include/asm/kfence.h: In function ‘kfence_protect_page’:
> > ../arch/arm64/include/asm/kfence.h:12:2: error: implicit declaration of
> > function ‘set_memory_valid’ [-Werror=implicit-function-declaration]
> > 12 | set_memory_valid(addr, 1, !protect);
> > | ^~~~~~~~~~~~~~~~
> > cc1: some warnings being treated as errors
> >
> > which introduced by commit d54febeba2ff ("kfence: use pt_regs to
> > generate stack trace on faults").
> >
> > Signed-off-by: Hui Su <sh_def@xxxxxxx>
> > ---
> > arch/arm64/include/asm/kfence.h | 1 +
> > 1 file changed, 1 insertion(+)
Thanks, but a patch for this is already in the -mm tree:
https://lore.kernel.org/mm-commits/20201205011409.o9PNsRntR%25akpm@xxxxxxxxxxxxxxxxxxxx/
Perhaps try the latest -next?
> > diff --git a/arch/arm64/include/asm/kfence.h b/arch/arm64/include/asm/kfence.h
> > index 6c0afeeab635..4d73e34da59d 100644
> > --- a/arch/arm64/include/asm/kfence.h
> > +++ b/arch/arm64/include/asm/kfence.h
> > @@ -4,6 +4,7 @@
> > #define __ASM_KFENCE_H
> >
> > #include <asm/cacheflush.h>
> > +#include <linux/set_memory.h>
> >
> > static inline bool arch_kfence_init_pool(void) { return true; }
> >
> > --
> > 2.25.1
>
> Added to linux-next today. I think it actually fixes patch "arm64,
> kfence: enable KFENCE for ARM64" since that actually introduces the
> set_memory_valid() call?
The patch that moved the declaration was after the kfence patch, so
it'd be the other way around:
https://lkml.kernel.org/r/X8otwahnmGQGLpge@xxxxxxxxxxxxxxxx
Thanks,
-- Marco