diff options
authorJosh Poimboeuf <>2018-03-14 10:24:20 -0500
committerThomas Gleixner <>2018-03-14 16:35:26 +0100
commitaf1d830bf32b27b387b97c8b29dc09e306a9ff7f (patch)
parenta14bff131108faf50cc0cf864589fd71ee216c96 (diff)
jump_label: Fix sparc64 warning
The kbuild test robot reported the following warning on sparc64: kernel/jump_label.c: In function '__jump_label_update': kernel/jump_label.c:376:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] WARN_ONCE(1, "can't patch jump_label at %pS", (void *)entry->code); On sparc64, the jump_label entry->code field is of type u32, but pointers are 64-bit. Silence the warning by casting entry->code to an unsigned long before casting it to a pointer. This is also what the sparc jump label code does. Fixes: dc1dd184c2f0 ("jump_label: Warn on failed jump_label patching attempt") Reported-by: kbuild test robot <> Signed-off-by: Josh Poimboeuf <> Signed-off-by: Thomas Gleixner <> Cc: Peter Zijlstra <> Cc: Jason Baron <> Cc: Borislav Petkov <> Cc: "David S . Miller" <> Link:
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/jump_label.c b/kernel/jump_label.c
index 52a0a7af8640..e7214093dcd1 100644
--- a/kernel/jump_label.c
+++ b/kernel/jump_label.c
@@ -373,7 +373,8 @@ static void __jump_label_update(struct static_key *key,
if (kernel_text_address(entry->code))
arch_jump_label_transform(entry, jump_label_type(entry));
- WARN_ONCE(1, "can't patch jump_label at %pS", (void *)entry->code);
+ WARN_ONCE(1, "can't patch jump_label at %pS",
+ (void *)(unsigned long)entry->code);