diff mbox series

kfence: fix implicit function declaration

Message ID 20201204121804.1532849-1-anders.roxell@linaro.org (mailing list archive)
State New, archived
Headers show
Series kfence: fix implicit function declaration | expand

Commit Message

Anders Roxell Dec. 4, 2020, 12:18 p.m. UTC
When building kfence the following error shows up:

In file included from mm/kfence/report.c:13:
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);
      |  ^~~~~~~~~~~~~~~~

Use the correct include both
f2b7c491916d ("set_memory: allow querying whether set_direct_map_*() is actually enabled")
and 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64") went in the
same day via different trees.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
---

I got this build error in todays next-20201204.
Andrew, since both patches are in your -mm tree, I think this can be
folded into 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64")

 arch/arm64/include/asm/kfence.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexander Potapenko Dec. 4, 2020, 12:29 p.m. UTC | #1
On Fri, Dec 4, 2020 at 1:18 PM Anders Roxell <anders.roxell@linaro.org> wrote:
>
> When building kfence the following error shows up:
>
> In file included from mm/kfence/report.c:13:
> 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);
>       |  ^~~~~~~~~~~~~~~~
>
> Use the correct include both
> f2b7c491916d ("set_memory: allow querying whether set_direct_map_*() is actually enabled")
> and 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64") went in the
> same day via different trees.
>
> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Reviewed-by: Alexander Potapenko <glider@google.com>


Thanks!

> ---
>
> I got this build error in todays next-20201204.
> Andrew, since both patches are in your -mm tree, I think this can be
> folded into 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64")
>
>  arch/arm64/include/asm/kfence.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/kfence.h b/arch/arm64/include/asm/kfence.h
> index 6c0afeeab635..c44bb368a810 100644
> --- a/arch/arm64/include/asm/kfence.h
> +++ b/arch/arm64/include/asm/kfence.h
> @@ -3,7 +3,7 @@
>  #ifndef __ASM_KFENCE_H
>  #define __ASM_KFENCE_H
>
> -#include <asm/cacheflush.h>
> +#include <asm/set_memory.h>
>
>  static inline bool arch_kfence_init_pool(void) { return true; }
>
> --
> 2.29.2
>
Marco Elver Dec. 4, 2020, 12:38 p.m. UTC | #2
On Fri, Dec 04, 2020 at 01:18PM +0100, Anders Roxell wrote:
> When building kfence the following error shows up:
> 
> In file included from mm/kfence/report.c:13:
> 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);
>       |  ^~~~~~~~~~~~~~~~
> 
> Use the correct include both
> f2b7c491916d ("set_memory: allow querying whether set_direct_map_*() is actually enabled")
> and 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64") went in the

Note that -mm does not have stable commit hashes.

> same day via different trees.
> 
> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
> ---

Ack, we need this patch somewhere but we should probably fix the patch
that does the move, otherwise we'll have a build-broken kernel still.

> I got this build error in todays next-20201204.
> Andrew, since both patches are in your -mm tree, I think this can be
> folded into 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64")

I don't think that's the right way around. This would result in a
build-broken commit point as well.

Looking at current -next, I see that "set_memory: allow querying whether
set_direct_map_*() is actually enabled" is after "arm64, kfence: enable
KFENCE for ARM64".

I think the patch that introduces set_memory.h for arm64 simply needs to
squash in this patch (assuming the order is retained as-is in -mm).

Thanks,
-- Marco

>  arch/arm64/include/asm/kfence.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/include/asm/kfence.h b/arch/arm64/include/asm/kfence.h
> index 6c0afeeab635..c44bb368a810 100644
> --- a/arch/arm64/include/asm/kfence.h
> +++ b/arch/arm64/include/asm/kfence.h
> @@ -3,7 +3,7 @@
>  #ifndef __ASM_KFENCE_H
>  #define __ASM_KFENCE_H
>  
> -#include <asm/cacheflush.h>
> +#include <asm/set_memory.h>
>  
>  static inline bool arch_kfence_init_pool(void) { return true; }
>
Andrew Morton Jan. 25, 2021, 10:45 p.m. UTC | #3
On Fri, 4 Dec 2020 13:38:25 +0100 Marco Elver <elver@google.com> wrote:

> On Fri, Dec 04, 2020 at 01:18PM +0100, Anders Roxell wrote:
> > When building kfence the following error shows up:
> > 
> > In file included from mm/kfence/report.c:13:
> > 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);
> >       |  ^~~~~~~~~~~~~~~~
> > 
> > Use the correct include both
> > f2b7c491916d ("set_memory: allow querying whether set_direct_map_*() is actually enabled")
> > and 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64") went in the
> 
> Note that -mm does not have stable commit hashes.
> 
> > same day via different trees.
> > 
> > Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
> > ---
> 
> Ack, we need this patch somewhere but we should probably fix the patch
> that does the move, otherwise we'll have a build-broken kernel still.
> 
> > I got this build error in todays next-20201204.
> > Andrew, since both patches are in your -mm tree, I think this can be
> > folded into 4c4c75881536 ("arm64, kfence: enable KFENCE for ARM64")
> 
> I don't think that's the right way around. This would result in a
> build-broken commit point as well.
> 
> Looking at current -next, I see that "set_memory: allow querying whether
> set_direct_map_*() is actually enabled" is after "arm64, kfence: enable
> KFENCE for ARM64".
> 
> I think the patch that introduces set_memory.h for arm64 simply needs to
> squash in this patch (assuming the order is retained as-is in -mm).
> 

OK, I requeued this patch as
set_memory-allow-querying-whether-set_direct_map_-is-actually-enabled-fix.patch, part of Mike's secretmem patch series.
diff mbox series

Patch

diff --git a/arch/arm64/include/asm/kfence.h b/arch/arm64/include/asm/kfence.h
index 6c0afeeab635..c44bb368a810 100644
--- a/arch/arm64/include/asm/kfence.h
+++ b/arch/arm64/include/asm/kfence.h
@@ -3,7 +3,7 @@ 
 #ifndef __ASM_KFENCE_H
 #define __ASM_KFENCE_H
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 
 static inline bool arch_kfence_init_pool(void) { return true; }