drivers: char: tlclk.c: Avoid data race between init and interrupt handler
authorMadhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
Fri, 17 Apr 2020 15:34:51 +0000 (21:04 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Apr 2020 14:55:24 +0000 (16:55 +0200)
commit44b8fb6eaa7c3fb770bf1e37619cdb3902cca1fc
tree9d65c3a0c35a7f41609eb40805456f93fdb3e710
parentc18c1f103503981bfbb3b9c3cdf3d2ea14f8e010
drivers: char: tlclk.c: Avoid data race between init and interrupt handler

After registering character device the file operation callbacks can be
called. The open callback registers interrupt handler.
Therefore interrupt handler can execute in parallel with rest of the init
function. To avoid such data race initialize telclk_interrupt variable
and struct alarm_events before registering character device.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
Link: https://lore.kernel.org/r/20200417153451.1551-1-madhuparnabhowmik10@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/tlclk.c