On Tue, Aug 22, 2017 at 07:36:42AM -0500, Josh Poimboeuf wrote: > On Tue, Aug 22, 2017 at 04:31:17PM +0800, changbin.du@xxxxxxxxx wrote: > > From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > > > > commit 325cdacd03c12629aa5f9ee2ace49b1f3dc184a8 upstream. > > > > Mike Galbraith reported a situation where a WARN_ON_ONCE() call in DRM > > code turned into an oops. As it turns out, WARN_ON_ONCE() seems to be > > completely broken when called from a module. > > > > The bug was introduced with the following commit: > > > > 19d436268dde ("debug: Add _ONCE() logic to report_bug()") > > > > That commit changed WARN_ON_ONCE() to move its 'once' logic into the bug > > trap handler. It requires a writable bug table so that the BUGFLAG_DONE > > bit can be written to the flags to indicate the first warning has > > occurred. > > > > The bug table was made writable for vmlinux, which relies on > > vmlinux.lds.S and vmlinux.lds.h for laying out the sections. However, > > it wasn't made writable for modules, which rely on the ELF section > > header flags. > > > > Reported-by: Mike Galbraith <efault@xxxxxx> > > Tested-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > > Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > > Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > Fixes: 19d436268dde ("debug: Add _ONCE() logic to report_bug()") > > Link: http://lkml.kernel.org/r/a53b04235a65478dd9afc51f5b329fdc65c84364.1500095401.git.jpoimboe@xxxxxxxxxx > > Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> > > Cc: <stable@xxxxxxxxxxxxxxx> # v4.11.x > > Cc: <stable@xxxxxxxxxxxxxxx> # v4.12.x > > This is only needed for 4.12. 4.11 doesn't have 19d436268dde ("debug: > Add _ONCE() logic to report_bug()"). Thanks, now queued up. greg k-h