linux/drivers/char
Hidetoshi Seto cab8bd3410 sysrq, kdump: make sysrq-c consistent
commit d6580a9f15 ("kexec: sysrq: simplify
sysrq-c handler") changed the behavior of sysrq-c to unconditional
dereference of NULL pointer.  So in cases with CONFIG_KEXEC, where
crash_kexec() was directly called from sysrq-c before, now it can be said
that a step of "real oops" was inserted before starting kdump.

However, in contrast to oops via SysRq-c from keyboard which results in
panic due to in_interrupt(), oops via "echo c > /proc/sysrq-trigger" will
not become panic unless panic_on_oops=1.  It means that even if dump is
properly configured to be taken on panic, the sysrq-c from proc interface
might not start crashdump while the sysrq-c from keyboard can start
crashdump.  This confuses traditional users of kdump, i.e.  people who
expect sysrq-c to do common behavior in both of the keyboard and proc
interface.

This patch brings the keyboard and proc interface behavior of sysrq-c in
line, by forcing panic_on_oops=1 before oops in sysrq-c handler.

And some updates in documentation are included, to clarify that there is
no longer dependency with CONFIG_KEXEC, and that now the system can just
crash by sysrq-c if no dump mechanism is configured.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Cc: Brayan Arraes <brayan@yack.com.br>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-07-29 19:10:36 -07:00
..
agp Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-06-20 10:15:30 -07:00
hw_random Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
ip2
ipmi
mwave
pcmcia tty: fix chars_in_buffers 2009-07-20 16:38:43 -07:00
rio headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
tpm headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
xilinx_hwicap
.gitignore
amiserial.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
apm-emulation.c
applicom.c
applicom.h
bfin_jtag_comm.c bfin_jtag_comm: clean up printk usage 2009-06-22 11:32:23 -07:00
bfin-otp.c
briq_panel.c
bsr.c powerpc/BSR: Fix BSR to allow mmap of small BSR on 64k kernel 2009-06-26 14:37:26 +10:00
cd1865.h
ChangeLog
consolemap.c
cp437.uni
cs5535_gpio.c
cyclades.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
defkeymap.c_shipped
defkeymap.map
digi1.h
digiFep1.h
digiPCI.h
ds1302.c
ds1620.c
dsp56k.c
dtlk.c dtlk: off by one in {read,write}_tts() 2009-06-19 16:46:06 -07:00
efirtc.c
epca.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
epca.h
epcaconfig.h
esp.c
generic_nvram.c
generic_serial.c
genrtc.c
hangcheck-timer.c
hpet.c
hvc_beat.c
hvc_console.c tty: fix chars_in_buffers 2009-07-20 16:38:43 -07:00
hvc_console.h
hvc_irq.c
hvc_iseries.c
hvc_iucv.c
hvc_rtas.c
hvc_udbg.c
hvc_vio.c
hvc_xen.c
hvcs.c
hvsi.c
i8k.c
isicom.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
istallion.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
Kconfig MIPS: Update VR41xx GPIO driver to use gpiolib 2009-07-03 15:45:25 +01:00
keyboard.c
lp.c
Makefile MIPS: Update VR41xx GPIO driver to use gpiolib 2009-07-03 15:45:25 +01:00
mbcs.c
mbcs.h
mem.c drivers/char/mem.c: memory_open() cleanup: lookup minor device number from devlist 2009-06-18 13:03:54 -07:00
misc.c
mmtimer.c
moxa.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
moxa.h
mspec.c
mxser.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
mxser.h
n_hdlc.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
n_r3964.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
n_tty.c pty: avoid forcing 'low_latency' tty flag 2009-07-29 12:15:56 -07:00
nozomi.c tty: fix chars_in_buffers 2009-07-20 16:38:43 -07:00
nsc_gpio.c
nvram.c
nwbutton.c
nwbutton.h
nwflash.c
pc8736x_gpio.c
ppdev.c ppdev: reduce kernel log spam 2009-06-18 13:03:54 -07:00
ps3flash.c
pty.c pty: avoid forcing 'low_latency' tty flag 2009-07-29 12:15:56 -07:00
random.c
raw.c
riscom8_reg.h
riscom8.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
riscom8.h
rocket_int.h
rocket.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
rocket.h
rtc.c
scc.h
scx200_gpio.c
selection.c
ser_a2232.c
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
snsc_event.c
snsc.c
snsc.h
sonypi.c
specialix_io8.h
specialix.c specialix.c: convert nested spin_lock_irqsave to spin_lock 2009-07-20 16:38:43 -07:00
stallion.c
sx.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
sx.h
sxboards.h
sxwindow.h
synclink_gt.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
synclink.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
synclinkmp.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
sysrq.c sysrq, kdump: make sysrq-c consistent 2009-07-29 19:10:36 -07:00
tb0219.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
tlclk.c
toshiba.c
tty_audit.c
tty_buffer.c pty: avoid forcing 'low_latency' tty flag 2009-07-29 12:15:56 -07:00
tty_io.c
tty_ioctl.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
tty_ldisc.c tty: fix close/hangup race 2009-07-16 09:19:16 -07:00
tty_port.c tty_port: Fix return on interrupted use 2009-07-17 08:50:43 -07:00
vc_screen.c vc: create vcs(a) devices for consoles 2009-07-20 16:38:43 -07:00
viotape.c
virtio_console.c
vme_scc.c
vt_ioctl.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
vt.c vt: drop bootmem/slab memory distinction 2009-07-16 09:19:16 -07:00