mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-28 12:53:14 +01:00
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 <[email protected]> Acked-by: Lee Jones <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Kees Cook <[email protected]>
This commit is contained in:
1 parent
d01daf9d95
commit
2424fe1cac
5 files changed
+5
-5
No files matched your search
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user