]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
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)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 9 Nov 2020 13:47:47 +0000 (14:47 +0100)
commit2c921084aafca48a70e2ddc676009e711a1e6f36
treef1af4dafb57ec8a2aa7fb1b37f96b59ff4db2360
parent0fc8f2cc3b1c251fe311d992b3f89d6a296d2ced
drivers: char: tlclk.c: Avoid data race between init and interrupt handler

BugLink: https://bugs.launchpad.net/bugs/1900624
[ Upstream commit 44b8fb6eaa7c3fb770bf1e37619cdb3902cca1fc ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Ian May <ian.may@canonical.com>
drivers/char/tlclk.c