kernel-ark/drivers/char
Chuck Ebbert 1cc7724810 [WATCHDOG] softdog-timer-running-oops.patch
The softdog watchdog timer has a bug that can create an oops:

1.  Load the module without the nowayout option.
2.  Open the driver and close it without writing 'V' before close.
3.  Unload the module.  The timer will continue to run...
4.  Oops happens when timer fires.

Reported Sun, 10 Oct 2004, by Michael Schierl <schierlm@gmx.de>

Fix is easy: always take a reference on the module on open.
Release it only when the device is closed and no timer is running.
Tested on 2.6.13-rc6 using the soft_noboot option.  While the
timer is running and the device is closed, the module use count
stays at 1.  After the timer fires, it drops to 0.  Repeatedly
opening and closing the driver caused no problems.  Please apply.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-09-03 13:59:46 +02:00
..
agp [PATCH] agp: restore APBASE after setting APSIZE 2005-07-29 15:01:15 -07:00
drm drm: fix a bad VERSION check. 2005-08-23 12:15:43 +10:00
ftape [PATCH] printk: drivers/char/ftape/compressor/zftape-compress.c 2005-06-25 16:25:02 -07:00
ip2 [PATCH] drivers/char/ip2*: cleanups 2005-06-25 16:25:06 -07:00
ipmi [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
mwave [SERIAL] Convert mwave to use serial8250_(un)?register_port 2005-08-31 22:19:33 +01:00
pcmcia [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
rio [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
tpm [PATCH] tpm_infineon: Support for new TPM 1.2 and PNPACPI 2005-08-05 12:22:37 -07:00
watchdog [WATCHDOG] softdog-timer-running-oops.patch 2005-09-03 13:59:46 +02:00
amiserial.c
applicom.c [PATCH] printk: drivers/char/applicom.c 2005-06-25 16:25:01 -07:00
applicom.h
cd1865.h
ChangeLog
consolemap.c
cp437.uni
cyclades.c
decserial.c
defkeymap.c_shipped
defkeymap.map
digi1.h
digi.h
digiFep1.h
digiPCI.h
ds1286.c
ds1302.c
ds1620.c [PATCH] char/ds1620: use msleep() instead of schedule_timeout() 2005-06-25 16:24:57 -07:00
dsp56k.c
dtlk.c
ec3104_keyb.c
efirtc.c
epca.c
epca.h
epcaconfig.h
esp.c
generic_nvram.c
generic_serial.c
genrtc.c
hangcheck-timer.c [PATCH] In hangcheck-timer.c call emergency_restart() 2005-07-26 14:35:44 -07:00
hpet.c
hvc_console.c [PATCH] hvc_console: Register ops when setting up hvc_console 2005-07-07 18:23:39 -07:00
hvc_vio.c [PATCH] Make MODULE_DEVICE_TABLE work for vio devices 2005-08-30 13:31:56 +10:00
hvcs.c [PATCH] Make MODULE_DEVICE_TABLE work for vio devices 2005-08-30 13:31:56 +10:00
hvsi.c [PATCH] hvc_console: Use hvc_get_chars in hvsi code 2005-07-07 18:23:40 -07:00
hw_random.c [PATCH] PCI: clean up dynamic pci id logic 2005-07-01 13:35:50 -07:00
i8k.c
ip2.c
ip2main.c [PATCH] drivers/char/ip2*: cleanups 2005-06-25 16:25:06 -07:00
ip27-rtc.c
isicom.c [PATCH] drivers/char/isicom.c: section fixes 2005-06-25 16:25:00 -07:00
istallion.c [PATCH] drivers/char/istallion.c: remove an unneeded variable 2005-06-25 16:25:03 -07:00
ite_gpio.c
Kconfig [SERIAL] mwave is no longer broken 2005-09-01 14:25:45 +01:00
keyboard.c Input: check keycodesize when adjusting keymaps 2005-07-24 00:50:03 -05:00
lcd.c
lcd.h
lp.c
Makefile [PATCH] hvc_console: Separate hvc_console and vio code 2 2005-07-07 18:23:39 -07:00
mbcs.c
mbcs.h
mem.c Fix up mmap of /dev/kmem 2005-08-13 14:22:59 -07:00
misc.c [PATCH] ppc32: Remove CONFIG_PMAC_PBOOK 2005-06-27 15:11:43 -07:00
mmtimer.c
moxa.c [PATCH] pci: remove deprecates 2005-06-27 21:52:38 -07:00
mxser.c
mxser.h
n_hdlc.c
n_r3964.c
n_tty.c [PATCH] tty output lossage fix 2005-07-07 18:23:45 -07:00
nvram.c [PATCH] drivers/char/nvram.c: possible cleanups 2005-06-25 16:25:03 -07:00
nwbutton.c
nwbutton.h
nwflash.c
ppdev.c
pty.c
qtronix.c
qtronixmap.c_shipped
qtronixmap.map
random.c [RANDOM]: Introduce secure_dccp_sequence_number 2005-08-29 15:49:40 -07:00
raw.c
riscom8_reg.h
riscom8.c
riscom8.h
rocket_int.h [PATCH] drivers/char/rocket.c: cleanups 2005-06-25 16:25:04 -07:00
rocket.c [PATCH] rocket.c: Fix ldisc ref count handling 2005-07-15 09:54:51 -07:00
rocket.h
rtc.c [PATCH] rtc: msleep() cannot be used from interrupt 2005-08-05 06:57:44 -07:00
s3c2410-rtc.c
scan_keyb.c
scan_keyb.h
scc.h
scx200_gpio.c
selection.c
ser_a2232.c
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c
snsc_event.c [IA64-SGI] fix unaligned memory access in snsc_event.c 2005-08-15 14:17:49 -07:00
snsc.c
snsc.h
sonypi.c Input: make name, phys and uniq be 'const char *' because once 2005-06-30 00:50:38 -05:00
specialix_io8.h
specialix.c
stallion.c
sx.c
sx.h
sxboards.h
sxwindow.h
synclink.c
synclinkmp.c
sysrq.c [PATCH] Update sysrq-B to use emergency_restart() 2005-07-26 14:35:43 -07:00
tb0219.c [PATCH] TB0219: add PCI IRQ initialization 2005-07-12 16:01:02 -07:00
tipar.c [PATCH] drivers/char/tipar.c: off by one array access 2005-06-28 21:20:29 -07:00
toshiba.c
tty_io.c [PATCH] char/tty_io: replace schedule_timeout() with msleep_interruptible() 2005-06-25 16:24:58 -07:00
tty_ioctl.c [PATCH] coverity: tty_ldisc_ref return null check 2005-06-28 21:20:34 -07:00
vc_screen.c
viocons.c
viotape.c [PATCH] Make MODULE_DEVICE_TABLE work for vio devices 2005-08-30 13:31:56 +10:00
vme_scc.c
vr41xx_giu.c
vr41xx_rtc.c
vt_ioctl.c [PATCH] Adapt drivers/char/vt_ioctl.c to non-x86 2005-06-28 21:20:30 -07:00
vt.c [PATCH] Remove race between con_open and con_close 2005-08-27 18:03:42 -07:00