Guenter Roeck
4bcd615fad
watchdog: Fix potential kref imbalance when opening watchdog
...
If a watchdog driver's open function sets WDOG_HW_RUNNING with the
expectation that the watchdog can not be stopped, but then stops the
watchdog anyway in its stop function, kref_get() wil not be called in
watchdog_open(). If the watchdog then stops on close, WDOG_HW_RUNNING
will be cleared and kref_put() will be called, causing a kref imbalance.
As result the character device data structure will be released, which in
turn will cause the system to crash on the next call to watchdog_open().
Fixes: ee142889e32f5 ("watchdog: Introduce WDOG_HW_RUNNING flag")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2017-12-17 11:01:47 +01:00
..
2017-11-21 15:57:05 -08:00
2017-09-09 20:25:34 +02:00
2017-09-09 21:05:07 +02:00
2015-09-11 15:12:59 -07:00
2017-11-21 15:57:07 -08:00
2015-09-09 21:38:29 +02:00
2016-10-05 18:36:18 -04:00
2017-02-24 14:00:23 -08:00
2017-11-21 15:57:07 -08:00
2017-11-21 15:57:07 -08:00
2017-02-27 18:43:46 -08:00
2017-09-09 20:52:13 +02:00
2017-05-19 10:42:25 +02:00
2017-02-24 14:00:23 -08:00
2017-09-09 20:35:31 +02:00
2017-09-09 20:06:38 +02:00
2017-11-21 15:57:07 -08:00
2017-11-02 15:50:26 -07:00
2017-02-24 14:00:23 -08:00
2017-02-24 14:00:23 -08:00
2017-02-24 14:00:23 -08:00
2017-09-09 20:55:26 +02:00
2017-07-03 11:02:43 +02:00
2017-09-09 20:29:53 +02:00
2017-02-24 14:00:23 -08:00
2017-07-03 10:52:04 +02:00
2017-02-24 14:00:23 -08:00
2017-02-24 14:00:23 -08:00
2017-04-20 12:02:32 +01:00
2017-06-05 20:43:01 +02:00
2015-09-28 10:56:01 +02:00
2017-02-24 14:00:23 -08:00
2017-06-05 20:39:27 +02:00
2017-05-08 17:15:14 -07:00
2015-09-09 21:39:22 +02:00
2017-02-24 14:00:23 -08:00
2016-10-08 10:27:30 +02:00
2017-06-05 20:37:35 +02:00
2017-09-09 20:06:25 +02:00
2017-11-02 11:10:55 +01:00
2017-09-09 17:41:24 +02:00
2016-12-16 06:53:54 -08:00
2017-11-09 17:09:48 +00:00
2017-03-01 06:15:10 -08:00
2015-08-05 10:35:49 -07:00
2017-09-04 13:53:15 +02:00
2016-12-16 06:53:55 -08:00
2017-11-02 15:50:30 -07:00
2017-11-21 15:57:05 -08:00
2017-11-02 11:10:55 +01:00
2016-01-31 16:51:56 +01:00
2017-09-09 20:40:39 +02:00
2017-09-09 21:19:58 +02:00
2017-02-24 14:00:23 -08:00
2015-09-09 21:39:22 +02:00
2017-07-03 11:02:31 +02:00
2017-09-09 20:14:01 +02:00
2017-11-21 15:57:05 -08:00
2016-03-01 15:36:35 +01:00
2017-11-21 15:57:07 -08:00
2017-09-09 20:29:53 +02:00
2016-03-01 15:36:35 +01:00
2017-11-21 15:57:07 -08:00
2016-03-01 16:25:39 +01:00
2017-02-24 14:00:23 -08:00
2017-11-21 15:57:07 -08:00
2016-07-17 21:04:13 +02:00
2017-09-04 21:19:03 +02:00
2017-09-04 21:19:03 +02:00
2017-09-09 20:48:18 +02:00
2015-12-27 21:09:40 +01:00
2015-06-22 15:54:35 +02:00
2017-06-05 20:39:12 +02:00
2017-04-20 12:02:32 +01:00
2017-09-09 20:37:36 +02:00
2017-11-21 15:57:07 -08:00
2016-07-25 12:02:32 +02:00
2016-07-25 12:02:43 +02:00
2017-11-21 15:57:07 -08:00
2016-03-16 21:09:42 +01:00
2016-10-08 10:27:13 +02:00
2016-10-08 10:27:17 +02:00
2017-09-09 20:50:35 +02:00
2016-03-01 15:29:42 +01:00
2017-11-21 15:57:07 -08:00
2017-09-09 21:11:58 +02:00
2015-09-09 21:39:22 +02:00
2017-02-24 14:00:23 -08:00
2017-09-09 20:29:53 +02:00
2017-06-05 20:37:17 +02:00
2017-06-05 20:38:52 +02:00
2017-02-24 14:00:23 -08:00
2017-06-05 17:58:39 +02:00
2017-11-21 15:57:05 -08:00
2017-02-24 14:00:23 -08:00
2017-11-21 15:57:05 -08:00
2017-09-09 21:14:46 +02:00
2017-11-21 15:57:07 -08:00
2017-02-24 14:00:23 -08:00
2017-03-01 06:15:10 -08:00
2017-09-09 21:17:44 +02:00
2016-05-14 16:16:04 +02:00
2017-11-02 11:10:55 +01:00
2016-09-24 08:59:49 +02:00
2017-09-09 20:06:31 +02:00
2016-01-11 21:51:28 +01:00
2017-02-24 14:00:23 -08:00
2017-02-24 14:00:23 -08:00
2017-02-24 14:00:23 -08:00
2017-02-24 14:00:23 -08:00
2017-09-09 20:06:14 +02:00
2015-12-28 22:29:35 +01:00
2017-09-04 14:41:02 +01:00
2016-09-23 22:36:32 +02:00
2017-07-03 13:58:55 +02:00
2015-09-09 21:39:22 +02:00
2017-11-21 15:57:05 -08:00
2017-09-09 20:08:03 +02:00
2017-11-21 15:57:05 -08:00
2015-11-23 08:59:30 +01:00
2017-11-17 16:10:04 -08:00
2015-12-29 20:36:01 +01:00
2017-12-17 11:01:47 +01:00
2016-10-08 10:27:24 +02:00
2017-11-02 11:10:55 +01:00
2016-10-21 01:28:33 +02:00
2017-05-18 18:51:44 +02:00
2017-04-20 12:02:32 +01:00
2017-02-24 14:00:23 -08:00
2015-09-09 21:39:22 +02:00
2017-09-09 21:16:17 +02:00
2017-09-09 20:18:43 +02:00