• Will Deacon's avatar
    arm64: ftrace: fix building without CONFIG_MODULES · 68764420
    Will Deacon authored
    When CONFIG_MODULES is disabled, we cannot dereference a module pointer:
    
    arch/arm64/kernel/ftrace.c: In function 'ftrace_make_call':
    arch/arm64/kernel/ftrace.c:107:36: error: dereferencing pointer to incomplete type 'struct module'
       trampoline = (unsigned long *)mod->arch.ftrace_trampoline;
    
    Also, the within_module() function is not defined:
    
    arch/arm64/kernel/ftrace.c: In function 'ftrace_make_nop':
    arch/arm64/kernel/ftrace.c:171:8: error: implicit declaration of function 'within_module'; did you mean 'init_module'? [-Werror=implicit-function-declaration]
    
    This addresses both by adding replacing the IS_ENABLED(CONFIG_ARM64_MODULE_PLTS)
    checks with #ifdef versions.
    
    Fixes: e71a4e1b ("arm64: ftrace: add support for far branches to dynamic ftrace")
    Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    68764420
ftrace.c 7.1 KB