diff options
Diffstat (limited to 'x86-code-dump-fix-truncation.patch')
-rw-r--r-- | x86-code-dump-fix-truncation.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/x86-code-dump-fix-truncation.patch b/x86-code-dump-fix-truncation.patch deleted file mode 100644 index dcd5a815c..000000000 --- a/x86-code-dump-fix-truncation.patch +++ /dev/null @@ -1,73 +0,0 @@ -From: Clemens Ladisch <clemens@ladisch.de> -Date: Mon, 19 Dec 2011 21:07:58 +0000 (+0100) -Subject: x86, dumpstack: Fix code bytes breakage due to missing KERN_CONT -X-Git-Url: https://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftip%2Ftip.git;a=commitdiff_plain;h=13f541c10b30fc6529200d7f9a0073217709622f - -x86, dumpstack: Fix code bytes breakage due to missing KERN_CONT - -When printing the code bytes in show_registers(), the markers around the -byte at the fault address could make the printk() format string look -like a valid log level and facility code. This would prevent this byte -from being printed and result in a spurious newline: - -[ 7555.765589] Code: 8b 32 e9 94 00 00 00 81 7d 00 ff 00 00 00 0f 87 96 00 00 00 48 8b 83 c0 00 00 00 44 89 e2 44 89 e6 48 89 df 48 8b 80 d8 02 00 00 -[ 7555.765683] 8b 48 28 48 89 d0 81 e2 ff 0f 00 00 48 c1 e8 0c 48 c1 e0 04 - -Add KERN_CONT where needed, and elsewhere in show_registers() for -consistency. - -Signed-off-by: Clemens Ladisch <clemens@ladisch.de> -Link: http://lkml.kernel.org/r/4EEFA7AE.9020407@ladisch.de -Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> ---- - -diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c -index 3b97a80..c99f9ed 100644 ---- a/arch/x86/kernel/dumpstack_32.c -+++ b/arch/x86/kernel/dumpstack_32.c -@@ -116,16 +116,16 @@ void show_registers(struct pt_regs *regs) - for (i = 0; i < code_len; i++, ip++) { - if (ip < (u8 *)PAGE_OFFSET || - probe_kernel_address(ip, c)) { -- printk(" Bad EIP value."); -+ printk(KERN_CONT " Bad EIP value."); - break; - } - if (ip == (u8 *)regs->ip) -- printk("<%02x> ", c); -+ printk(KERN_CONT "<%02x> ", c); - else -- printk("%02x ", c); -+ printk(KERN_CONT "%02x ", c); - } - } -- printk("\n"); -+ printk(KERN_CONT "\n"); - } - - int is_valid_bugaddr(unsigned long ip) -diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c -index 19853ad..6d728d9 100644 ---- a/arch/x86/kernel/dumpstack_64.c -+++ b/arch/x86/kernel/dumpstack_64.c -@@ -284,16 +284,16 @@ void show_registers(struct pt_regs *regs) - for (i = 0; i < code_len; i++, ip++) { - if (ip < (u8 *)PAGE_OFFSET || - probe_kernel_address(ip, c)) { -- printk(" Bad RIP value."); -+ printk(KERN_CONT " Bad RIP value."); - break; - } - if (ip == (u8 *)regs->ip) -- printk("<%02x> ", c); -+ printk(KERN_CONT "<%02x> ", c); - else -- printk("%02x ", c); -+ printk(KERN_CONT "%02x ", c); - } - } -- printk("\n"); -+ printk(KERN_CONT "\n"); - } - - int is_valid_bugaddr(unsigned long ip) |