There is only a single usage site left, remove the function and extend the print to include more information, like the expected text and the patch type.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]> --- arch/x86/kernel/jump_label.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) --- a/arch/x86/kernel/jump_label.c +++ b/arch/x86/kernel/jump_label.c @@ -24,17 +24,6 @@ union jump_code_union { } __attribute__((packed)); }; -static void bug_at(unsigned char *ip, int line) -{ - /* - * The location is not an op that we were expecting. - * Something went wrong. Crash the box, as something could be - * corrupting the kernel. - */ - pr_crit("jump_label: Fatal kernel bug, unexpected op at %pS [%p] (%5ph) %d\n", ip, ip, ip, line); - BUG(); -} - static void __jump_label_set_jump_code(struct jump_entry *entry, enum jump_label_type type, union jump_code_union *code, @@ -42,6 +31,7 @@ static void __jump_label_set_jump_code(s { const unsigned char default_nop[] = { STATIC_KEY_INIT_NOP }; const unsigned char *ideal_nop = ideal_nops[NOP_ATOMIC5]; + unsigned char *ip = (void *)jump_entry_code(entry); const void *expect; int line; @@ -57,8 +47,16 @@ static void __jump_label_set_jump_code(s expect = code->code; line = __LINE__; } - if (memcmp((void *)jump_entry_code(entry), expect, JUMP_LABEL_NOP_SIZE)) - bug_at((void *)jump_entry_code(entry), line); + if (memcmp(ip, expect, JUMP_LABEL_NOP_SIZE)) { + /* + * The location is not an op that we were expecting. + * Something went wrong. Crash the box, as something could be + * corrupting the kernel. + */ + pr_crit("jump_label: Fatal kernel bug, unexpected op at %pS [%p] (%5ph != %5ph)) line:%d init:%d type:%d\n", + ip, ip, ip, expect, line, init, type); + BUG(); + } if (type == JUMP_LABEL_NOP) memcpy(code, ideal_nop, JUMP_LABEL_NOP_SIZE);

