arm: Handle KCOV __init vs inline mismatches
authorKees Cook <kees@kernel.org>
Thu, 17 Jul 2025 23:25:10 +0000 (16:25 -0700)
committerKees Cook <kees@kernel.org>
Tue, 22 Jul 2025 04:43:39 +0000 (21:43 -0700)
commit2424fe1cac4fc8ea0520ba22ede7544c3ddc8dd1
treec019b4ea785f75f63c2bab61a0f37f8497b21097
parentd01daf9d95c9918bd11f990e807517f214a83ea2
arm: Handle KCOV __init vs inline mismatches

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>
Acked-by: Lee Jones <lee@kernel.org>
Reviewed-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20250717232519.2984886-5-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
arch/arm/mm/cache-feroceon-l2.c
arch/arm/mm/cache-tauros2.c
drivers/clocksource/timer-orion.c
drivers/soc/ti/pm33xx.c
include/linux/mfd/dbx500-prcmu.h