lkml.org 
[lkml]   [2017]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [4.14-rc1 x86] WARNING: kernel stack regs at f60bbb12 inswapper:1 has bad 'bp' value 0ba00000
On Tue, Oct 03, 2017 at 10:44:13PM +0900, Tetsuo Handa wrote:
> Josh Poimboeuf wrote:
>
> > On Tue, Oct 03, 2017 at 12:37:44PM +0200, Borislav Petkov wrote:
> > > On Tue, Oct 03, 2017 at 07:29:36PM +0900, Tetsuo Handa wrote:
> > > > Tetsuo Handa wrote:
> > > > > Tetsuo Handa wrote:
> > > > > > Tetsuo Handa wrote:
> > > > > > > I'm seeing below error between
> > > > > > > 4898b99c261efe32 ("Merge tag 'acpi-4.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm") (git bisect good (presumably))
> > > > > > > e6f3faa734a00c60 ("locking/lockdep: Fix workqueue crossrelease annotation") (git bisect bad) on linux.git .
> > > > > >
> > > > > > F.Y.I. This error remains as of 46c1e79fee417f15 ("Merge branch 'perf-urgent-for-linus' of
> > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip") on linux.git .
> > > > > >
> > > > >
> > > > > This error still remains as of 6e80ecdddf4ea6f3 ("Merge branch 'libnvdimm-fixes'
> > > > > of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm") on linux.git .
> > > > >
> > > > > I'm suspecting that this error is causing very unstable x86_32 kernel.
> > > > > It seems that this error occurs (though rare frequency) even on x86_64 kernel.
> > > > >
> > > > > Nobody cares?
> > > > >
> > > > 4.14-rc3 still trivially panics due to this error. Is this problem known?
> >
> > Can you try with the following patch? It should hopefully give more
> > useful information in the dump.
> >
> I see. Here is the result.

Hm, that's not what I expected to happen... I suspect this is stack
corruption, with the result being slightly different every time. Can
you see if this patch fixes the panic?


diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 44c8d0d17170..b4a5e60488aa 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -1986,7 +1986,7 @@ check_prevs_add(struct task_struct *curr, struct held_lock *next)
{
int depth = curr->lockdep_depth;
struct held_lock *hlock;
- struct stack_trace trace;
+ static struct stack_trace trace;
int (*save)(struct stack_trace *trace) = save_trace;

/*
\
 
 \ /
  Last update: 2017-10-03 16:36    [W:0.055 / U:3.640 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site