From: Lee Jones <lee@kernel.org>
To: Kees Cook <kees@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>, Nishanth Menon <nm@ti.com>,
Russell King <linux@armlinux.org.uk>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Santosh Shilimkar <ssantosh@kernel.org>,
Allison Randal <allison@lohutok.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-arm-kernel@lists.infradead.org,
Ingo Molnar <mingo@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Christoph Hellwig <hch@lst.de>,
Andrey Konovalov <andreyknvl@gmail.com>,
Andrey Ryabinin <ryabinin.a.a@gmail.com>,
Ard Biesheuvel <ardb@kernel.org>,
Masahiro Yamada <masahiroy@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas.schier@linux.dev>,
Nick Desaulniers <nick.desaulniers+lkml@gmail.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
linux-kernel@vger.kernel.org, x86@kernel.org,
kasan-dev@googlegroups.com, linux-doc@vger.kernel.org,
kvmarm@lists.linux.dev, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-efi@vger.kernel.org,
linux-hardening@vger.kernel.org, linux-kbuild@vger.kernel.org,
linux-security-module@vger.kernel.org,
linux-kselftest@vger.kernel.org, sparclinux@vger.kernel.org,
llvm@lists.linux.dev
Subject: Re: [PATCH v3 05/13] arm: Handle KCOV __init vs inline mismatches
Date: Fri, 18 Jul 2025 14:04:00 +0100 [thread overview]
Message-ID: <20250718130400.GB11056@google.com> (raw)
In-Reply-To: <20250717232519.2984886-5-kees@kernel.org>
On Thu, 17 Jul 2025, Kees Cook wrote:
> When KCOV is enabled all functions get instrumented, unless
> the __no_sanitize_coverage attribute is used. To prepare for
> __no_sanitize_coverage being applied to __init functions, we have to
> handle differences in how GCC's inline optimizations get resolved. For
> arm this exposed several places where __init annotations were missing
> but ended up being "accidentally correct". Fix these cases and force
> several functions to be inline with __always_inline.
>
> Acked-by: Nishanth Menon <nm@ti.com>
> Signed-off-by: Kees Cook <kees@kernel.org>
> ---
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Nishanth Menon <nm@ti.com>
> Cc: Santosh Shilimkar <ssantosh@kernel.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Allison Randal <allison@lohutok.net>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: <linux-arm-kernel@lists.infradead.org>
> ---
> include/linux/mfd/dbx500-prcmu.h | 2 +-
Acked-by: Lee Jones <lee@kernel.org>
> arch/arm/mm/cache-feroceon-l2.c | 2 +-
> arch/arm/mm/cache-tauros2.c | 2 +-
> drivers/clocksource/timer-orion.c | 2 +-
> drivers/soc/ti/pm33xx.c | 2 +-
> 5 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h
> index 98567623c9df..828362b7860c 100644
> --- a/include/linux/mfd/dbx500-prcmu.h
> +++ b/include/linux/mfd/dbx500-prcmu.h
> @@ -213,7 +213,7 @@ struct prcmu_fw_version {
>
> #if defined(CONFIG_UX500_SOC_DB8500)
>
> -static inline void prcmu_early_init(void)
> +static inline void __init prcmu_early_init(void)
> {
> db8500_prcmu_early_init();
> }
> diff --git a/arch/arm/mm/cache-feroceon-l2.c b/arch/arm/mm/cache-feroceon-l2.c
> index 25dbd84a1aaf..2bfefb252ffd 100644
> --- a/arch/arm/mm/cache-feroceon-l2.c
> +++ b/arch/arm/mm/cache-feroceon-l2.c
> @@ -295,7 +295,7 @@ static inline u32 read_extra_features(void)
> return u;
> }
>
> -static inline void write_extra_features(u32 u)
> +static inline void __init write_extra_features(u32 u)
> {
> __asm__("mcr p15, 1, %0, c15, c1, 0" : : "r" (u));
> }
> diff --git a/arch/arm/mm/cache-tauros2.c b/arch/arm/mm/cache-tauros2.c
> index b1e1aba602f7..bfe166ccace0 100644
> --- a/arch/arm/mm/cache-tauros2.c
> +++ b/arch/arm/mm/cache-tauros2.c
> @@ -177,7 +177,7 @@ static inline void __init write_actlr(u32 actlr)
> __asm__("mcr p15, 0, %0, c1, c0, 1\n" : : "r" (actlr));
> }
>
> -static void enable_extra_feature(unsigned int features)
> +static void __init enable_extra_feature(unsigned int features)
> {
> u32 u;
>
> diff --git a/drivers/clocksource/timer-orion.c b/drivers/clocksource/timer-orion.c
> index 49e86cb70a7a..61f1e27fc41e 100644
> --- a/drivers/clocksource/timer-orion.c
> +++ b/drivers/clocksource/timer-orion.c
> @@ -43,7 +43,7 @@ static struct delay_timer orion_delay_timer = {
> .read_current_timer = orion_read_timer,
> };
>
> -static void orion_delay_timer_init(unsigned long rate)
> +static void __init orion_delay_timer_init(unsigned long rate)
> {
> orion_delay_timer.freq = rate;
> register_current_timer_delay(&orion_delay_timer);
> diff --git a/drivers/soc/ti/pm33xx.c b/drivers/soc/ti/pm33xx.c
> index dfdff186c805..dc52a2197d24 100644
> --- a/drivers/soc/ti/pm33xx.c
> +++ b/drivers/soc/ti/pm33xx.c
> @@ -145,7 +145,7 @@ static int am33xx_do_sram_idle(u32 wfi_flags)
> return pm_ops->cpu_suspend(am33xx_do_wfi_sram, wfi_flags);
> }
>
> -static int __init am43xx_map_gic(void)
> +static int am43xx_map_gic(void)
> {
> gic_dist_base = ioremap(AM43XX_GIC_DIST_BASE, SZ_4K);
>
> --
> 2.34.1
>
--
Lee Jones [李琼斯]
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee@kernel.org>
To: Kees Cook <kees@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>, Nishanth Menon <nm@ti.com>,
Russell King <linux@armlinux.org.uk>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Santosh Shilimkar <ssantosh@kernel.org>,
Allison Randal <allison@lohutok.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-arm-kernel@lists.infradead.org,
Ingo Molnar <mingo@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Christoph Hellwig <hch@lst.de>,
Andrey Konovalov <andreyknvl@gmail.com>,
Andrey Ryabinin <ryabinin.a.a@gmail.com>,
Ard Biesheuvel <ardb@kernel.org>,
Masahiro Yamada <masahiroy@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas.schier@linux.dev>,
Nick Desaulniers <nick.desaulniers+lkml@gmail.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
linux-kernel@vger.kernel.org, x86@kernel.org,
kasan-dev@googlegroups.com, linux-doc@vger.kernel.org,
kvmarm@lists.linux.dev, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-efi@vger.kernel.org,
linux-hardening@vger.kernel.org, linux-kbuild@vger.kernel.org,
linux-security-module@vger.kernel.org,
linux-kselftest@vger.kernel.org, sparclinux@vger.kernel.org,
llvm@lists.linux.dev
Subject: Re: [PATCH v3 05/13] arm: Handle KCOV __init vs inline mismatches
Date: Fri, 18 Jul 2025 14:04:00 +0100 [thread overview]
Message-ID: <20250718130400.GB11056@google.com> (raw)
In-Reply-To: <20250717232519.2984886-5-kees@kernel.org>
On Thu, 17 Jul 2025, Kees Cook wrote:
> When KCOV is enabled all functions get instrumented, unless
> the __no_sanitize_coverage attribute is used. To prepare for
> __no_sanitize_coverage being applied to __init functions, we have to
> handle differences in how GCC's inline optimizations get resolved. For
> arm this exposed several places where __init annotations were missing
> but ended up being "accidentally correct". Fix these cases and force
> several functions to be inline with __always_inline.
>
> Acked-by: Nishanth Menon <nm@ti.com>
> Signed-off-by: Kees Cook <kees@kernel.org>
> ---
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Nishanth Menon <nm@ti.com>
> Cc: Santosh Shilimkar <ssantosh@kernel.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Allison Randal <allison@lohutok.net>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: <linux-arm-kernel@lists.infradead.org>
> ---
> include/linux/mfd/dbx500-prcmu.h | 2 +-
Acked-by: Lee Jones <lee@kernel.org>
> arch/arm/mm/cache-feroceon-l2.c | 2 +-
> arch/arm/mm/cache-tauros2.c | 2 +-
> drivers/clocksource/timer-orion.c | 2 +-
> drivers/soc/ti/pm33xx.c | 2 +-
> 5 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h
> index 98567623c9df..828362b7860c 100644
> --- a/include/linux/mfd/dbx500-prcmu.h
> +++ b/include/linux/mfd/dbx500-prcmu.h
> @@ -213,7 +213,7 @@ struct prcmu_fw_version {
>
> #if defined(CONFIG_UX500_SOC_DB8500)
>
> -static inline void prcmu_early_init(void)
> +static inline void __init prcmu_early_init(void)
> {
> db8500_prcmu_early_init();
> }
> diff --git a/arch/arm/mm/cache-feroceon-l2.c b/arch/arm/mm/cache-feroceon-l2.c
> index 25dbd84a1aaf..2bfefb252ffd 100644
> --- a/arch/arm/mm/cache-feroceon-l2.c
> +++ b/arch/arm/mm/cache-feroceon-l2.c
> @@ -295,7 +295,7 @@ static inline u32 read_extra_features(void)
> return u;
> }
>
> -static inline void write_extra_features(u32 u)
> +static inline void __init write_extra_features(u32 u)
> {
> __asm__("mcr p15, 1, %0, c15, c1, 0" : : "r" (u));
> }
> diff --git a/arch/arm/mm/cache-tauros2.c b/arch/arm/mm/cache-tauros2.c
> index b1e1aba602f7..bfe166ccace0 100644
> --- a/arch/arm/mm/cache-tauros2.c
> +++ b/arch/arm/mm/cache-tauros2.c
> @@ -177,7 +177,7 @@ static inline void __init write_actlr(u32 actlr)
> __asm__("mcr p15, 0, %0, c1, c0, 1\n" : : "r" (actlr));
> }
>
> -static void enable_extra_feature(unsigned int features)
> +static void __init enable_extra_feature(unsigned int features)
> {
> u32 u;
>
> diff --git a/drivers/clocksource/timer-orion.c b/drivers/clocksource/timer-orion.c
> index 49e86cb70a7a..61f1e27fc41e 100644
> --- a/drivers/clocksource/timer-orion.c
> +++ b/drivers/clocksource/timer-orion.c
> @@ -43,7 +43,7 @@ static struct delay_timer orion_delay_timer = {
> .read_current_timer = orion_read_timer,
> };
>
> -static void orion_delay_timer_init(unsigned long rate)
> +static void __init orion_delay_timer_init(unsigned long rate)
> {
> orion_delay_timer.freq = rate;
> register_current_timer_delay(&orion_delay_timer);
> diff --git a/drivers/soc/ti/pm33xx.c b/drivers/soc/ti/pm33xx.c
> index dfdff186c805..dc52a2197d24 100644
> --- a/drivers/soc/ti/pm33xx.c
> +++ b/drivers/soc/ti/pm33xx.c
> @@ -145,7 +145,7 @@ static int am33xx_do_sram_idle(u32 wfi_flags)
> return pm_ops->cpu_suspend(am33xx_do_wfi_sram, wfi_flags);
> }
>
> -static int __init am43xx_map_gic(void)
> +static int am43xx_map_gic(void)
> {
> gic_dist_base = ioremap(AM43XX_GIC_DIST_BASE, SZ_4K);
>
> --
> 2.34.1
>
--
Lee Jones [李琼斯]
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2025-07-18 13:04 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-17 23:25 [PATCH v3 00/13] stackleak: Support Clang stack depth tracking Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 01/13] stackleak: Rename STACKLEAK to KSTACK_ERASE Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-21 20:02 ` Nicolas Schier
2025-07-21 20:02 ` Nicolas Schier
2025-07-21 20:16 ` Kees Cook
2025-07-21 20:16 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 02/13] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 03/13] stackleak: Split KSTACK_ERASE_CFLAGS from GCC_PLUGINS_CFLAGS Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 04/13] x86: Handle KCOV __init vs inline mismatches Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-18 8:36 ` Mike Rapoport
2025-07-18 8:36 ` Mike Rapoport
2025-07-18 22:51 ` Kees Cook
2025-07-18 22:51 ` Kees Cook
2025-07-20 6:10 ` Ard Biesheuvel
2025-07-20 6:10 ` Ard Biesheuvel
2025-07-21 12:47 ` Will Deacon
2025-07-21 12:47 ` Will Deacon
2025-07-21 20:14 ` Kees Cook
2025-07-21 20:14 ` Kees Cook
2025-07-21 20:49 ` Kees Cook
2025-07-21 20:49 ` Kees Cook
2025-07-22 6:55 ` Ard Biesheuvel
2025-07-22 6:55 ` Ard Biesheuvel
2025-07-22 13:29 ` Will Deacon
2025-07-22 13:29 ` Will Deacon
2025-07-22 8:26 ` Mike Rapoport
2025-07-22 8:26 ` Mike Rapoport
2025-07-17 23:25 ` [PATCH v3 05/13] arm: " Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-18 12:58 ` Nishanth Menon
2025-07-18 12:58 ` Nishanth Menon
2025-07-18 13:04 ` Lee Jones [this message]
2025-07-18 13:04 ` Lee Jones
2025-07-17 23:25 ` [PATCH v3 06/13] arm64: " Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-18 11:22 ` Will Deacon
2025-07-18 11:22 ` Will Deacon
2025-07-17 23:25 ` [PATCH v3 07/13] s390: " Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 08/13] powerpc/mm/book3s64: Move kfence and debug_pagealloc related calls to __init section Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 09/13] mips: Handle KCOV __init vs inline mismatch Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-18 9:18 ` Huacai Chen
2025-07-18 9:18 ` Huacai Chen
2025-07-17 23:25 ` [PATCH v3 10/13] init.h: Disable sanitizer coverage for __init and __head Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-18 22:51 ` kernel test robot
2025-07-19 4:22 ` kernel test robot
2025-07-17 23:25 ` [PATCH v3 11/13] kstack_erase: Support Clang stack depth tracking Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 12/13] configs/hardening: Enable CONFIG_KSTACK_ERASE Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-07-17 23:25 ` [PATCH v3 13/13] configs/hardening: Enable CONFIG_INIT_ON_FREE_DEFAULT_ON Kees Cook
2025-07-17 23:25 ` Kees Cook
2025-08-10 21:12 ` [PATCH v3 00/13] stackleak: Support Clang stack depth tracking patchwork-bot+linux-riscv
2025-08-10 21:12 ` patchwork-bot+linux-riscv
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250718130400.GB11056@google.com \
--to=lee@kernel.org \
--cc=allison@lohutok.net \
--cc=andreyknvl@gmail.com \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=daniel.lezcano@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=gustavoars@kernel.org \
--cc=hch@lst.de \
--cc=justinstitt@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=kees@kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=llvm@lists.linux.dev \
--cc=masahiroy@kernel.org \
--cc=mingo@kernel.org \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=nicolas.schier@linux.dev \
--cc=nm@ti.com \
--cc=ryabinin.a.a@gmail.com \
--cc=sparclinux@vger.kernel.org \
--cc=ssantosh@kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.