Re: [PATCH] watchdog: mena21_wdt: Fix a possible data race in a21_wdt_set_timeout

From: Jia-Ju Bai
Date: Mon May 07 2018 - 23:47:51 EST




On 2018/5/8 11:42, Guenter Roeck wrote:
On 05/07/2018 08:32 PM, Jia-Ju Bai wrote:


On 2018/5/8 11:28, Guenter Roeck wrote:
On 05/07/2018 08:18 PM, Jia-Ju Bai wrote:
The write operation to "wdt->timeout" is protected by
the lock on line 118, but the read operation to
this data on line 105 is not protected by the lock.
Thus, there may exist a data race for "wdt->timeout".

To fix this data race, the read operation to "wdt->timeout"
should be also protected by the lock.


There is no race. There is already a mutex in the watchdog core which serializes
calls to the various API functions. It would make more sense to drop drv->lock
from the driver.


Thanks for your reply :)
Need I submit a patch of dropping all calls to "drv->lock"?


You don't _need_ to, but I would happily give it my Reviewed-by: tag if you do.


Okay, I will write a patch today :)


Best wishes,
Jia-Ju Bai