Thomas Gleixner
6218b88d26
gpio/dwapb: Fix race in installing chained IRQ handler
...
Fix a race where a pending interrupt could be received and the handler
called before the handler's data has been setup, by converting to
irq_set_chained_handler_and_data().
Search and conversion was done with coccinelle:
@@
expression E1, E2, E3;
@@
(
-if (irq_set_chained_handler(E1, E3) != 0)
- BUG();
|
-irq_set_chained_handler(E1, E3);
)
-irq_set_handler_data(E1, E2);
+irq_set_chained_handler_and_data(E1, E3, E2);
@@
expression E1, E2, E3;
@@
(
-if (irq_set_chained_handler(E1, E3) != 0)
- BUG();
...
|
-irq_set_chained_handler(E1, E3);
...
)
-irq_set_handler_data(E1, E2);
+irq_set_chained_handler_and_data(E1, E3, E2);
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: linux-gpio@vger.kernel.org
2015-06-25 11:56:48 +02:00
..
2015-03-17 17:45:59 +01:00
2014-07-22 16:39:26 +02:00
2014-10-21 10:48:04 +02:00
2014-09-02 10:44:01 +02:00
2014-10-20 16:20:31 +02:00
2015-04-08 16:54:01 +02:00
2015-03-27 09:28:40 +01:00
2015-01-19 09:48:45 +01:00
2015-04-18 08:22:10 -04:00
2015-06-25 11:56:45 +02:00
2014-08-29 14:31:43 +02:00
2014-10-20 16:20:31 +02:00
2015-03-26 09:09:17 +01:00
2014-12-14 16:10:09 -08:00
2015-04-08 09:54:21 +02:00
2015-04-08 09:54:21 +02:00
2014-12-14 16:10:09 -08:00
2015-01-20 11:03:07 +01:00
2015-06-25 11:56:48 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:20:31 +02:00
2015-03-17 17:57:37 +01:00
2015-01-29 10:33:15 +01:00
2015-01-19 11:07:00 +01:00
2015-01-20 11:03:07 +01:00
2015-04-08 09:54:27 +02:00
2014-06-19 09:31:16 +02:00
2014-10-20 16:20:31 +02:00
2014-07-22 16:39:26 +02:00
2014-10-20 16:20:31 +02:00
2015-05-12 13:49:13 +02:00
2014-10-02 16:07:00 +02:00
2015-04-08 09:53:42 +02:00
2014-10-20 16:20:31 +02:00
2014-10-20 16:20:31 +02:00
2014-10-20 16:20:31 +02:00
2014-07-22 16:39:26 +02:00
2015-03-02 15:44:08 +01:00
2015-04-08 09:54:10 +02:00
2013-08-23 19:44:28 +02:00
2015-03-02 15:35:41 +01:00
2014-07-22 16:39:26 +02:00
2015-04-08 09:54:21 +02:00
2015-04-08 16:54:01 +02:00
2014-07-22 16:39:26 +02:00
2015-01-20 11:18:51 +01:00
2015-01-09 10:24:29 +01:00
2015-03-05 10:51:35 +01:00
2015-01-20 11:18:28 +01:00
2014-10-20 16:20:31 +02:00
2014-10-20 16:20:31 +02:00
2015-04-08 16:35:07 +02:00
2015-06-18 14:03:08 +02:00
2015-06-18 14:03:08 +02:00
2014-10-20 16:20:31 +02:00
2015-05-06 15:19:38 +02:00
2014-07-22 16:39:26 +02:00
2014-08-28 14:19:40 +02:00
2015-03-04 13:50:46 +01:00
2014-10-02 16:07:00 +02:00
2014-12-03 14:44:23 +01:00
2015-03-09 14:41:12 +01:00
2014-10-20 16:20:31 +02:00
2015-03-26 10:25:32 +01:00
2014-07-22 16:39:26 +02:00
2015-01-29 15:24:49 +00:00
2014-09-23 17:51:39 +02:00
2014-07-22 16:39:26 +02:00
2015-04-10 11:35:45 +02:00
2014-07-22 16:39:26 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:20:31 +02:00
2015-01-20 11:03:22 +01:00
2014-12-14 16:10:09 -08:00
2015-01-22 09:45:24 +01:00
2015-03-27 11:17:08 +01:00
2015-03-27 11:25:23 +01:00
2015-03-26 14:20:17 +00:00
2015-06-18 14:03:08 +02:00
2014-10-20 16:20:31 +02:00
2014-07-22 16:39:26 +02:00
2014-07-22 16:39:26 +02:00
2015-02-23 15:40:32 +01:00
2014-10-20 16:20:31 +02:00
2014-10-20 16:20:31 +02:00
2014-10-20 16:20:31 +02:00
2015-01-29 10:34:13 +01:00
2015-01-15 17:23:21 +01:00
2014-07-22 16:39:26 +02:00
2015-03-06 11:17:36 +01:00
2014-07-22 16:39:26 +02:00
2014-12-14 16:10:09 -08:00
2015-01-15 17:23:18 +01:00
2014-07-22 16:39:26 +02:00
2014-07-22 16:39:26 +02:00
2014-07-22 16:39:26 +02:00
2015-04-08 09:53:57 +02:00
2014-10-20 16:20:31 +02:00
2015-01-15 17:23:18 +01:00
2014-10-20 16:20:31 +02:00
2015-01-20 11:18:56 +01:00
2014-12-04 00:51:30 +01:00
2015-04-27 15:20:33 +02:00
2014-12-02 15:46:36 +01:00
2015-04-18 08:22:10 -04:00
2015-04-29 23:42:47 +02:00
2015-05-12 10:56:28 +02:00
2015-04-18 08:22:10 -04:00
2015-04-22 09:04:39 -07:00
2015-04-22 09:04:39 -07:00