linux/arch/mn10300
Josh Poimboeuf 325cdacd03 debug: Fix WARN_ON_ONCE() for modules
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:

  19d436268d ("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@gmx.de>
Tested-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: 19d436268d ("debug: Add _ONCE() logic to report_bug()")
Link: http://lkml.kernel.org/r/a53b04235a65478dd9afc51f5b329fdc65c84364.1500095401.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-07-20 12:31:04 +02:00
..
boot kbuild: delete unnecessary "@:" 2016-04-20 10:36:57 +02:00
configs arch/defconfig: remove CONFIG_RESOURCE_COUNTERS 2016-05-23 17:04:14 -07:00
include debug: Fix WARN_ON_ONCE() for modules 2017-07-20 12:31:04 +02:00
kernel arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
lib mn10300: switch to RAW_COPY_USER 2017-03-28 18:23:49 -04:00
mm sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
oprofile
proc-mn2ws0050 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
proc-mn103e010 mn10300: use RTC_DRV_CMOS instead of CONFIG_RTC 2016-06-26 01:20:08 +02:00
unit-asb2303 net: smc91x: isolate u16 writes alignment workaround 2016-10-18 14:14:21 -04:00
unit-asb2305 mn10300/PCI: Use generic pci_mmap_resource_range() 2017-04-20 08:47:47 -05:00
unit-asb2364 mn10300: Remove deprecated IRQF_DISABLED 2014-03-04 21:47:51 +01:00
Kconfig CONFIG_ARCH_HAS_RAW_COPY_USER is unconditional now 2017-04-26 12:11:01 -04:00
Kconfig.debug consolidate per-arch stack overflow debugging options 2013-07-04 11:25:39 -07:00
Makefile mn10300: Remove redundant debugging info flag 2014-01-28 10:57:06 +01:00