[PATCH] x86: mce: fix type mismatch warning

From: Arnd Bergmann
Date: Wed Jan 10 2018 - 11:47:52 EST


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 <arnd@xxxxxxxx>
---
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