The printed symbol is a 64-bit address, so we get a warning when building this code for 32-bit kernels:
arch/x86/kernel/cpu/mcheck/mce.c: In function '__print_mce': arch/x86/kernel/cpu/mcheck/mce.c:237:21: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] This uses an extra uintptr_t cast to avoid the warning. Fixes: 7b6061627eb8 ("x86: do not use print_symbol()") Signed-off-by: Arnd Bergmann <a...@arndb.de> --- arch/x86/kernel/cpu/mcheck/mce.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 26ee8c4c9b18..3b2f86c51a98 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -234,7 +234,7 @@ static void __print_mce(struct mce *m) m->cs, m->ip); if (m->cs == __KERNEL_CS) - pr_cont("{%pS}", (void *)m->ip); + pr_cont("{%pS}", (void *)(uintptr_t)m->ip); pr_cont("\n"); } -- 2.9.0