diff options
author | Markus Trippelsdorf <markus@trippelsdorf.de> | 2017-04-07 08:09:04 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-04-11 03:11:13 -0400 |
commit | 1c99a6874133ebf4513504ef7c32ce1f532d323f (patch) | |
tree | 7c3f54cf58fd42cfe8586b220fa1c46ae704dac5 | |
parent | 6fdc6dd90272ce7e75d744f71535cfbd8d77da81 (diff) |
x86/debug: Fix the printk() debug output of signal_fault(), do_trap() and do_general_protection()
Since commit:
4bcc595ccd80 "printk: reinstate KERN_CONT for printing"
... the debug output of signal_fault(), do_trap() and do_general_protection()
looks garbled, e.g.:
traps: conftest[9335] trap invalid opcode ip:400428 sp:7ffeaba1b0d8 error:0
in conftest[400000+1000]
(note the unintended line break.)
Fix the bug by adding KERN_CONTs.
Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/kernel/signal.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/traps.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index 396c042e9d0e..cc30a74e4adb 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c | |||
@@ -846,7 +846,7 @@ void signal_fault(struct pt_regs *regs, void __user *frame, char *where) | |||
846 | task_pid_nr(current) > 1 ? KERN_INFO : KERN_EMERG, | 846 | task_pid_nr(current) > 1 ? KERN_INFO : KERN_EMERG, |
847 | me->comm, me->pid, where, frame, | 847 | me->comm, me->pid, where, frame, |
848 | regs->ip, regs->sp, regs->orig_ax); | 848 | regs->ip, regs->sp, regs->orig_ax); |
849 | print_vma_addr(" in ", regs->ip); | 849 | print_vma_addr(KERN_CONT " in ", regs->ip); |
850 | pr_cont("\n"); | 850 | pr_cont("\n"); |
851 | } | 851 | } |
852 | 852 | ||
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 948443e115c1..4e496379a871 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c | |||
@@ -255,7 +255,7 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs, | |||
255 | pr_info("%s[%d] trap %s ip:%lx sp:%lx error:%lx", | 255 | pr_info("%s[%d] trap %s ip:%lx sp:%lx error:%lx", |
256 | tsk->comm, tsk->pid, str, | 256 | tsk->comm, tsk->pid, str, |
257 | regs->ip, regs->sp, error_code); | 257 | regs->ip, regs->sp, error_code); |
258 | print_vma_addr(" in ", regs->ip); | 258 | print_vma_addr(KERN_CONT " in ", regs->ip); |
259 | pr_cont("\n"); | 259 | pr_cont("\n"); |
260 | } | 260 | } |
261 | 261 | ||
@@ -519,7 +519,7 @@ do_general_protection(struct pt_regs *regs, long error_code) | |||
519 | pr_info("%s[%d] general protection ip:%lx sp:%lx error:%lx", | 519 | pr_info("%s[%d] general protection ip:%lx sp:%lx error:%lx", |
520 | tsk->comm, task_pid_nr(tsk), | 520 | tsk->comm, task_pid_nr(tsk), |
521 | regs->ip, regs->sp, error_code); | 521 | regs->ip, regs->sp, error_code); |
522 | print_vma_addr(" in ", regs->ip); | 522 | print_vma_addr(KERN_CONT " in ", regs->ip); |
523 | pr_cont("\n"); | 523 | pr_cont("\n"); |
524 | } | 524 | } |
525 | 525 | ||