kernel_optimize_test/Documentation/watchdog
Hans de Goede e907df3272 watchdog: Add support for dynamically allocated watchdog_device structs
If a driver's watchdog_device struct is part of a dynamically allocated
struct (which it often will be), merely locking the module is not enough,
even with a drivers module locked, the driver can be unbound from the device,
examples:
1) The root user can unbind it through sysfd
2) The i2c bus master driver being unloaded for an i2c watchdog

I will gladly admit that these are corner cases, but we still need to handle
them correctly.

The fix for this consists of 2 parts:
1) Add ref / unref operations, so that the driver can refcount the struct
   holding the watchdog_device struct and delay freeing it until any
   open filehandles referring to it are closed
2) Most driver operations will do IO on the device and the driver should not
   do any IO on the device after it has been unbound. Rather then letting each
   driver deal with this internally, it is better to ensure at the watchdog
   core level that no operations (other then unref) will get called after
   the driver has called watchdog_unregister_device(). This actually is the
   bulk of this patch.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-05-30 07:55:31 +02:00
..
src Documentation/watchdog: Fix the file descriptor leak when no cmdline arg given 2012-05-23 16:27:48 +02:00
convert_drivers_to_kernel_api.txt watchdog: Add support for WDIOC_GETTIMELEFT IOCTL in watchdog core 2012-03-27 20:15:37 +02:00
hpwdt.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
pcwd-watchdog.txt
watchdog-api.txt
watchdog-kernel-api.txt watchdog: Add support for dynamically allocated watchdog_device structs 2012-05-30 07:55:31 +02:00
watchdog-parameters.txt
wdt.txt