]> git.baikalelectronics.ru Git - kernel.git/commit
mfd: menelaus: Fix possible race condition and leak
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 9 Sep 2018 20:48:58 +0000 (22:48 +0200)
committerLee Jones <lee.jones@linaro.org>
Tue, 11 Sep 2018 15:40:21 +0000 (16:40 +0100)
commite1732e9f99891cc6ad1608460a49e7a94f047df4
tree2e5fa8e95045ecc72252dbe21a67c4837b6bfc82
parent0ff97265403d59a684be8666710156706ccfd8fa
mfd: menelaus: Fix possible race condition and leak

The IRQ work is added before the struct rtc is allocated and registered,
but this struct is used in the IRQ handler. This may lead to a NULL pointer
dereference.

Switch to devm_rtc_allocate_device/rtc_register_device to allocate the rtc
before calling menelaus_add_irq_work.

Also, this solves a possible leak as the RTC is never released.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/menelaus.c