Tejun Heo
4afca924c0
workqueue: convert BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s
...
commit fc4b514f27 upstream.
8852aac25e ("workqueue: mod_delayed_work_on() shouldn't queue timer on
0 delay") unexpectedly uncovered a very nasty abuse of delayed_work in
megaraid - it allocated work_struct, casted it to delayed_work and
then pass that into queue_delayed_work().
Previously, this was okay because 0 @delay short-circuited to
queue_work() before doing anything with delayed_work. 8852aac25e
moved 0 @delay test into __queue_delayed_work() after sanity check on
delayed_work making megaraid trigger BUG_ON().
Although megaraid is already fixed by c1d390d8e6 ("megaraid: fix
BUG_ON() from incorrect use of delayed work"), this patch converts
BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s so that such
abusers, if there are more, trigger warning but don't crash the
machine.
Signed-off-by: Tejun Heo <tj@kernel.org >
Cc: Xiaotian Feng <xtfeng@gmail.com >
Signed-off-by: Shuah Khan <shuah.khan@hp.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2012-12-17 10:37:43 -08:00
..
2012-10-21 09:27:59 -07:00
2012-10-02 10:29:54 -07:00
2011-07-26 16:49:45 -07:00
2012-08-15 08:10:29 -07:00
2012-08-09 08:31:29 -07:00
2012-12-10 10:59:40 -08:00
2012-12-03 11:47:23 -08:00
2012-07-16 09:04:42 -07:00
2008-02-09 23:27:01 -08:00
2012-01-08 12:19:57 -08:00
2012-10-02 10:30:35 -07:00
2012-09-14 10:00:18 -07:00
2011-03-14 09:15:23 -04:00
2012-03-20 21:29:40 -04:00
2012-01-17 16:16:57 -05:00
2012-01-17 16:17:01 -05:00
2012-01-23 08:44:53 -08:00
2008-06-27 18:09:16 +02:00
2011-03-23 19:46:28 -07:00
2012-01-17 10:19:41 -08:00
2012-02-02 09:20:22 -08:00
2012-10-28 10:14:14 -07:00
2012-05-10 08:58:33 -07:00
2011-07-25 20:57:15 -07:00
2011-09-23 12:05:29 +05:30
2012-01-08 13:10:57 -08:00
2012-10-13 05:38:57 +09:00
2011-11-06 19:44:47 -08:00
2012-04-11 08:20:11 -07:00
2011-07-14 12:59:14 +03:00
2012-03-28 18:30:03 +01:00
2010-03-06 11:26:46 -08:00
2010-08-09 20:45:05 -07:00
2012-08-09 08:31:39 -07:00
2011-05-20 08:56:56 +02:00
2012-06-10 00:36:06 +09:00
2012-03-04 23:08:54 +01:00
2012-03-29 11:37:17 +02:00
2012-12-03 11:47:07 -08:00
2011-10-31 09:20:12 -04:00
2012-07-19 08:59:00 -07:00
2012-03-05 15:49:42 -08:00
2012-04-13 13:15:16 -04:00
2012-04-10 11:00:30 +02:00
2012-02-28 20:01:08 +01:00
2011-03-25 17:52:22 -07:00
2008-10-20 08:52:34 -07:00
2008-07-28 14:37:38 +02:00
2012-03-23 13:18:57 +01:00
2012-03-23 13:18:57 +01:00
2012-03-28 17:19:28 -07:00
2011-10-31 09:20:12 -04:00
2012-03-28 23:30:28 +02:00
2012-03-05 15:49:42 -08:00
2011-10-31 09:20:13 -04:00
2012-10-02 10:30:40 -07:00
2011-10-31 09:20:12 -04:00
2010-05-04 05:38:16 +02:00
2011-10-31 09:20:12 -04:00
2009-02-14 23:27:59 +01:00
2012-02-21 09:06:06 -08:00
2012-01-24 16:37:54 -08:00
2012-11-26 11:37:41 -08:00
2011-10-31 09:20:12 -04:00
2011-04-14 08:52:33 +02:00
2012-03-01 10:28:03 +01:00
2011-04-14 08:52:33 +02:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2012-03-29 19:52:46 +08:00
2012-06-22 11:36:56 -07:00
2012-03-26 12:50:51 +10:30
2012-03-28 17:14:36 -07:00
2012-02-13 20:45:38 -05:00
2011-12-15 14:56:19 +01:00
2011-10-31 09:20:12 -04:00
2012-03-20 10:31:44 -07:00
2011-10-31 09:20:12 -04:00
2012-03-23 16:58:41 -07:00
2011-10-31 09:20:11 -04:00
2012-02-21 09:06:12 -08:00
2012-02-21 09:06:03 -08:00
2012-02-21 09:03:43 -08:00
2012-02-21 09:06:13 -08:00
2012-02-21 09:06:10 -08:00
2012-02-21 09:42:30 -08:00
2012-02-21 09:06:07 -08:00
2012-10-13 05:38:55 +09:00
2012-02-21 09:06:07 -08:00
2012-07-16 09:04:42 -07:00
2012-01-22 15:08:46 -05:00
2012-02-03 23:37:07 +01:00
2011-01-27 21:13:51 -05:00
2011-12-06 08:16:49 +01:00
2011-12-14 14:54:22 -08:00
2011-12-11 10:33:18 -08:00
2012-03-28 18:30:03 +01:00
2012-01-17 16:16:55 -05:00
2011-10-31 09:20:12 -04:00
2012-03-28 15:58:21 -07:00
2012-03-28 17:14:35 -07:00
2012-03-20 10:32:09 -07:00
2012-03-23 13:18:57 +01:00
2012-02-21 09:06:08 -08:00
2011-10-31 09:20:12 -04:00
2011-11-06 19:44:47 -08:00
2011-10-31 17:30:44 -07:00
2012-10-28 10:14:13 -07:00
2011-12-20 10:25:04 -08:00
2012-04-05 14:51:43 +10:00
2011-09-19 17:04:37 -07:00
2010-10-14 08:55:27 +02:00
2012-03-15 18:17:55 -07:00
2008-05-02 16:18:42 -07:00
2012-10-21 09:27:59 -07:00
2012-02-24 10:05:59 +01:00
2011-12-15 14:56:19 +01:00
2011-03-23 19:47:08 -07:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-11-06 19:44:47 -08:00
2011-10-31 09:20:12 -04:00
2011-12-21 10:07:39 +01:00
2012-12-03 11:47:17 -08:00
2010-06-29 10:07:14 +02:00
2012-12-17 10:37:43 -08:00