bug: use %pB in BUG and stack protector failure

The BUG and stack protector reports were still using a raw %p.  This
changes it to %pB for more meaningful output.

Link: http://lkml.kernel.org/r/20180301225704.GA34198@beast
Fixes: ad67b74d24 ("printk: hash addresses printed with %p")
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Richard Weinberger <richard.weinberger@gmail.com>,
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Kees Cook 2018-03-09 15:50:59 -08:00 committed by Linus Torvalds
parent 4704dea36d
commit 0862ca422b
2 changed files with 2 additions and 2 deletions

View File

@ -640,7 +640,7 @@ device_initcall(register_warn_debugfs);
*/ */
__visible void __stack_chk_fail(void) __visible void __stack_chk_fail(void)
{ {
panic("stack-protector: Kernel stack is corrupted in: %p\n", panic("stack-protector: Kernel stack is corrupted in: %pB\n",
__builtin_return_address(0)); __builtin_return_address(0));
} }
EXPORT_SYMBOL(__stack_chk_fail); EXPORT_SYMBOL(__stack_chk_fail);

View File

@ -191,7 +191,7 @@ enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs)
if (file) if (file)
pr_crit("kernel BUG at %s:%u!\n", file, line); pr_crit("kernel BUG at %s:%u!\n", file, line);
else else
pr_crit("Kernel BUG at %p [verbose debug info unavailable]\n", pr_crit("Kernel BUG at %pB [verbose debug info unavailable]\n",
(void *)bugaddr); (void *)bugaddr);
return BUG_TRAP_TYPE_BUG; return BUG_TRAP_TYPE_BUG;