From: Thomas Gleixner Date: Sun, 21 Jun 2015 18:16:21 +0000 (+0200) Subject: sh/intc: Fix race in installing chained IRQ handler X-Git-Tag: omap-for-v4.2/fixes-rc1^2~55^2~12 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=51b971b1b93ab5d1d2e9205c9752c8ffbbcfe303;p=pandora-kernel.git sh/intc: 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 Signed-off-by: Thomas Gleixner Cc: Julia Lawall Cc: Simon Horman Cc: Magnus Damm Cc: linux-sh@vger.kernel.org --- Reading git-diff-tree failed