Re: [PATCH V2] rtc: snvs: fix possible race condition

From: Alexandre Belloni
Date: Fri Jul 19 2019 - 03:33:32 EST


On 19/07/2019 11:01:02+0800, Anson.Huang@xxxxxxx wrote:
> From: Anson Huang <Anson.Huang@xxxxxxx>
>
> The RTC IRQ is requested before the struct rtc_device is allocated,
> this may lead to a NULL pointer dereference in IRQ handler.
>
> To fix this issue, allocating the rtc_device struct and register rtc
> device before requesting the RTC IRQ.
>
> Using devm_rtc_allocate_device/rtc_register_device instead of
> devm_rtc_device_register.
>
> Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
> ---
> Changes since V1:
> - move devm_request_irq() to after rtc device register done, make sure everything
> is ready before enabling IRQ.

This opens another race condition, the first version of the patch was
correct.

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com