aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2015-10-13 09:01:06 -0400
committerCatalin Marinas <catalin.marinas@arm.com>2015-10-13 09:54:42 -0400
commit83040123fde42ec532d3b632efb5f7f84024e61d (patch)
tree668de0164f4db8ac50f426839770edd5139a8b51
parent4fc57692268bf841a3cc90b3b056640de2bb1605 (diff)
arm64: kasan: fix issues reported by sparse
Sparse reports some new issues introduced by the kasan patches: arch/arm64/mm/kasan_init.c:91:13: warning: no previous prototype for 'kasan_early_init' [-Wmissing-prototypes] void __init kasan_early_init(void) ^ arch/arm64/mm/kasan_init.c:91:13: warning: symbol 'kasan_early_init' was not declared. Should it be static? [sparse] This patch resolves the problem by adding a prototype for kasan_early_init and marking the function as asmlinkage, since it's only called from head.S. Signed-off-by: Will Deacon <will.deacon@arm.com> Acked-by: Andrey Ryabinin <ryabinin.a.a@gmail.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--arch/arm64/include/asm/kasan.h2
-rw-r--r--arch/arm64/mm/kasan_init.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/kasan.h b/arch/arm64/include/asm/kasan.h
index 71dfe14acdca..2774fa384c47 100644
--- a/arch/arm64/include/asm/kasan.h
+++ b/arch/arm64/include/asm/kasan.h
@@ -5,6 +5,7 @@
5 5
6#ifdef CONFIG_KASAN 6#ifdef CONFIG_KASAN
7 7
8#include <linux/linkage.h>
8#include <asm/memory.h> 9#include <asm/memory.h>
9 10
10/* 11/*
@@ -27,6 +28,7 @@
27#define KASAN_SHADOW_OFFSET (KASAN_SHADOW_END - (1ULL << (64 - 3))) 28#define KASAN_SHADOW_OFFSET (KASAN_SHADOW_END - (1ULL << (64 - 3)))
28 29
29void kasan_init(void); 30void kasan_init(void);
31asmlinkage void kasan_early_init(void);
30 32
31#else 33#else
32static inline void kasan_init(void) { } 34static inline void kasan_init(void) { }
diff --git a/arch/arm64/mm/kasan_init.c b/arch/arm64/mm/kasan_init.c
index b6a92f5dd568..cf038c7d9fa9 100644
--- a/arch/arm64/mm/kasan_init.c
+++ b/arch/arm64/mm/kasan_init.c
@@ -88,7 +88,7 @@ static void __init kasan_map_early_shadow(void)
88 } while (pgd++, addr = next, addr != end); 88 } while (pgd++, addr = next, addr != end);
89} 89}
90 90
91void __init kasan_early_init(void) 91asmlinkage void __init kasan_early_init(void)
92{ 92{
93 BUILD_BUG_ON(KASAN_SHADOW_OFFSET != KASAN_SHADOW_END - (1UL << 61)); 93 BUILD_BUG_ON(KASAN_SHADOW_OFFSET != KASAN_SHADOW_END - (1UL << 61));
94 BUILD_BUG_ON(!IS_ALIGNED(KASAN_SHADOW_START, PGDIR_SIZE)); 94 BUILD_BUG_ON(!IS_ALIGNED(KASAN_SHADOW_START, PGDIR_SIZE));