Commit-ID:  af1d830bf32b27b387b97c8b29dc09e306a9ff7f
Gitweb:     https://git.kernel.org/tip/af1d830bf32b27b387b97c8b29dc09e306a9ff7f
Author:     Josh Poimboeuf <jpoim...@redhat.com>
AuthorDate: Wed, 14 Mar 2018 10:24:20 -0500
Committer:  Thomas Gleixner <t...@linutronix.de>
CommitDate: Wed, 14 Mar 2018 16:35:26 +0100

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 <fengguang...@intel.com>
Signed-off-by: Josh Poimboeuf <jpoim...@redhat.com>
Signed-off-by: Thomas Gleixner <t...@linutronix.de>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Jason Baron <jba...@akamai.com>
Cc: Borislav Petkov <b...@suse.de>
Cc: "David S . Miller" <da...@davemloft.net>
Link: 
https://lkml.kernel.org/r/c966fed42be6611254a62d46579ec7416548d572.1521041026.git.jpoim...@redhat.com

---
 kernel/jump_label.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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));
                        else
-                               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);
                }
        }
 }

Reply via email to