2020-11-10 22:18:33

by Andrey Konovalov

[permalink] [raw]
Subject: [PATCH v9 18/44] kasan, arm64: rename kasan_init_tags and mark as __init

Rename kasan_init_tags() to kasan_init_sw_tags() as the upcoming hardware
tag-based KASAN mode will have its own initialization routine.
Also similarly to kasan_init() mark kasan_init_tags() as __init.

Signed-off-by: Andrey Konovalov <[email protected]>
Reviewed-by: Catalin Marinas <[email protected]>
---
Change-Id: I99aa2f7115d38a34ed85b329dadab6c7d6952416
---
arch/arm64/kernel/setup.c | 2 +-
arch/arm64/mm/kasan_init.c | 2 +-
include/linux/kasan.h | 4 ++--
mm/kasan/sw_tags.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 133257ffd859..bb79b09f73c8 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -358,7 +358,7 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p)
smp_build_mpidr_hash();

/* Init percpu seeds for random tags after cpus are set up. */
- kasan_init_tags();
+ kasan_init_sw_tags();

#ifdef CONFIG_ARM64_SW_TTBR0_PAN
/*
diff --git a/arch/arm64/mm/kasan_init.c b/arch/arm64/mm/kasan_init.c
index e35ce04beed1..d8e66c78440e 100644
--- a/arch/arm64/mm/kasan_init.c
+++ b/arch/arm64/mm/kasan_init.c
@@ -283,7 +283,7 @@ void __init kasan_init(void)
kasan_init_shadow();
kasan_init_depth();
#if defined(CONFIG_KASAN_GENERIC)
- /* CONFIG_KASAN_SW_TAGS also requires kasan_init_tags(). */
+ /* CONFIG_KASAN_SW_TAGS also requires kasan_init_sw_tags(). */
pr_info("KernelAddressSanitizer initialized\n");
#endif
}
diff --git a/include/linux/kasan.h b/include/linux/kasan.h
index 979d598e1c30..1d6ec3325163 100644
--- a/include/linux/kasan.h
+++ b/include/linux/kasan.h
@@ -191,7 +191,7 @@ static inline void kasan_record_aux_stack(void *ptr) {}

#ifdef CONFIG_KASAN_SW_TAGS

-void kasan_init_tags(void);
+void __init kasan_init_sw_tags(void);

void *kasan_reset_tag(const void *addr);

@@ -200,7 +200,7 @@ bool kasan_report(unsigned long addr, size_t size,

#else /* CONFIG_KASAN_SW_TAGS */

-static inline void kasan_init_tags(void) { }
+static inline void kasan_init_sw_tags(void) { }

static inline void *kasan_reset_tag(const void *addr)
{
diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c
index d25f8641b7cd..b09a2c06abad 100644
--- a/mm/kasan/sw_tags.c
+++ b/mm/kasan/sw_tags.c
@@ -35,7 +35,7 @@

static DEFINE_PER_CPU(u32, prng_state);

-void kasan_init_tags(void)
+void __init kasan_init_sw_tags(void)
{
int cpu;

--
2.29.2.222.g5d2a92d10f8-goog


2020-11-11 15:08:26

by Alexander Potapenko

[permalink] [raw]
Subject: Re: [PATCH v9 18/44] kasan, arm64: rename kasan_init_tags and mark as __init

On Tue, Nov 10, 2020 at 11:11 PM Andrey Konovalov <[email protected]> wrote:
>
> Rename kasan_init_tags() to kasan_init_sw_tags() as the upcoming hardware
> tag-based KASAN mode will have its own initialization routine.
> Also similarly to kasan_init() mark kasan_init_tags() as __init.
>
> Signed-off-by: Andrey Konovalov <[email protected]>
> Reviewed-by: Catalin Marinas <[email protected]>
Reviewed-by: Alexander Potapenko <[email protected]>

> ---
> Change-Id: I99aa2f7115d38a34ed85b329dadab6c7d6952416
> ---
> arch/arm64/kernel/setup.c | 2 +-
> arch/arm64/mm/kasan_init.c | 2 +-
> include/linux/kasan.h | 4 ++--
> mm/kasan/sw_tags.c | 2 +-
> 4 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> index 133257ffd859..bb79b09f73c8 100644
> --- a/arch/arm64/kernel/setup.c
> +++ b/arch/arm64/kernel/setup.c
> @@ -358,7 +358,7 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p)
> smp_build_mpidr_hash();
>
> /* Init percpu seeds for random tags after cpus are set up. */
> - kasan_init_tags();
> + kasan_init_sw_tags();
>
> #ifdef CONFIG_ARM64_SW_TTBR0_PAN
> /*
> diff --git a/arch/arm64/mm/kasan_init.c b/arch/arm64/mm/kasan_init.c
> index e35ce04beed1..d8e66c78440e 100644
> --- a/arch/arm64/mm/kasan_init.c
> +++ b/arch/arm64/mm/kasan_init.c
> @@ -283,7 +283,7 @@ void __init kasan_init(void)
> kasan_init_shadow();
> kasan_init_depth();
> #if defined(CONFIG_KASAN_GENERIC)
> - /* CONFIG_KASAN_SW_TAGS also requires kasan_init_tags(). */
> + /* CONFIG_KASAN_SW_TAGS also requires kasan_init_sw_tags(). */
> pr_info("KernelAddressSanitizer initialized\n");
> #endif
> }
> diff --git a/include/linux/kasan.h b/include/linux/kasan.h
> index 979d598e1c30..1d6ec3325163 100644
> --- a/include/linux/kasan.h
> +++ b/include/linux/kasan.h
> @@ -191,7 +191,7 @@ static inline void kasan_record_aux_stack(void *ptr) {}
>
> #ifdef CONFIG_KASAN_SW_TAGS
>
> -void kasan_init_tags(void);
> +void __init kasan_init_sw_tags(void);
>
> void *kasan_reset_tag(const void *addr);
>
> @@ -200,7 +200,7 @@ bool kasan_report(unsigned long addr, size_t size,
>
> #else /* CONFIG_KASAN_SW_TAGS */
>
> -static inline void kasan_init_tags(void) { }
> +static inline void kasan_init_sw_tags(void) { }
>
> static inline void *kasan_reset_tag(const void *addr)
> {
> diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c
> index d25f8641b7cd..b09a2c06abad 100644
> --- a/mm/kasan/sw_tags.c
> +++ b/mm/kasan/sw_tags.c
> @@ -35,7 +35,7 @@
>
> static DEFINE_PER_CPU(u32, prng_state);
>
> -void kasan_init_tags(void)
> +void __init kasan_init_sw_tags(void)
> {
> int cpu;
>
> --
> 2.29.2.222.g5d2a92d10f8-goog
>


--
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-Straße, 33
80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg