On Tue, May 24, 2016 at 03:48:41PM -0700, Andy Lutomirski wrote: > This will help debug OOPSes related to USER_DS vs KERNEL_DS. > > Signed-off-by: Andy Lutomirski <l...@kernel.org> > --- > arch/x86/kernel/dumpstack_32.c | 4 ++++ > arch/x86/kernel/dumpstack_64.c | 5 +++++ > 2 files changed, 9 insertions(+) > > diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c > index 464ffd69b92e..5dbb08fd8291 100644 > --- a/arch/x86/kernel/dumpstack_32.c > +++ b/arch/x86/kernel/dumpstack_32.c > @@ -124,8 +124,12 @@ show_stack_log_lvl(struct task_struct *task, struct > pt_regs *regs, > void show_regs(struct pt_regs *regs) > { > int i; > + struct thread_info *ti = current_thread_info(); > > show_regs_print_info(KERN_EMERG); > + if (ti->addr_limit.seg != TASK_SIZE_MAX) > + printk(KERN_DEFAULT "task.addr_limit: 0x%lx\n", > + ti->addr_limit.seg);
And, of course, that printk should be part of the printk in show_regs_print_info() and not duplicated here and in dumpstack_64.c -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply.