提交 5d12f042 编写于 作者: B Borislav Petkov 提交者: Thomas Gleixner

x86/dumpstack: Remove code_bytes

This was added by

  86c41837 ("[PATCH] i386: add option to show more code in oops reports")

long time ago but experience shows that 64 instruction bytes are plenty
when deciphering an oops. So get rid of it.

Removing it will simplify further enhancements to the opcodes dumping
machinery coming in the following patches.
Signed-off-by: NBorislav Petkov <bp@suse.de>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Link: https://lkml.kernel.org/r/20180417161124.5294-2-bp@alien8.de
上级 6d08b06e
...@@ -587,11 +587,6 @@ ...@@ -587,11 +587,6 @@
Sets the size of memory pool for coherent, atomic dma Sets the size of memory pool for coherent, atomic dma
allocations, by default set to 256K. allocations, by default set to 256K.
code_bytes [X86] How many bytes of object code to print
in an oops report.
Range: 0 - 8192
Default: 64
com20020= [HW,NET] ARCnet - COM20020 chipset com20020= [HW,NET] ARCnet - COM20020 chipset
Format: Format:
<io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]] <io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
......
...@@ -22,9 +22,10 @@ ...@@ -22,9 +22,10 @@
#include <asm/stacktrace.h> #include <asm/stacktrace.h>
#include <asm/unwind.h> #include <asm/unwind.h>
#define OPCODE_BUFSIZE 64
int panic_on_unrecovered_nmi; int panic_on_unrecovered_nmi;
int panic_on_io_nmi; int panic_on_io_nmi;
static unsigned int code_bytes = 64;
static int die_counter; static int die_counter;
bool in_task_stack(unsigned long *stack, struct task_struct *task, bool in_task_stack(unsigned long *stack, struct task_struct *task,
...@@ -356,26 +357,6 @@ void die(const char *str, struct pt_regs *regs, long err) ...@@ -356,26 +357,6 @@ void die(const char *str, struct pt_regs *regs, long err)
oops_end(flags, regs, sig); oops_end(flags, regs, sig);
} }
static int __init code_bytes_setup(char *s)
{
ssize_t ret;
unsigned long val;
if (!s)
return -EINVAL;
ret = kstrtoul(s, 0, &val);
if (ret)
return ret;
code_bytes = val;
if (code_bytes > 8192)
code_bytes = 8192;
return 1;
}
__setup("code_bytes=", code_bytes_setup);
void show_regs(struct pt_regs *regs) void show_regs(struct pt_regs *regs)
{ {
bool all = true; bool all = true;
...@@ -393,8 +374,8 @@ void show_regs(struct pt_regs *regs) ...@@ -393,8 +374,8 @@ void show_regs(struct pt_regs *regs)
* time of the fault.. * time of the fault..
*/ */
if (!user_mode(regs)) { if (!user_mode(regs)) {
unsigned int code_prologue = code_bytes * 43 / 64; unsigned int code_prologue = OPCODE_BUFSIZE * 43 / 64;
unsigned int code_len = code_bytes; unsigned int code_len = OPCODE_BUFSIZE;
unsigned char c; unsigned char c;
u8 *ip; u8 *ip;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册