Searched hist:d501d378 (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/counter/ |
H A D | 104-quad-8.c | d501d378 Thu Oct 20 09:11:21 CDT 2022 William Breathitt Gray <william.gray@linaro.org> counter: 104-quad-8: Fix race getting function mode and direction
The quad8_action_read() function checks the Count function mode and Count direction without first acquiring a lock. This is a race condition because the function mode could change by the time the direction is checked.
Because the quad8_function_read() already acquires a lock internally, the quad8_function_read() is refactored to spin out the no-lock code to a new quad8_function_get() function.
To resolve the race condition in quad8_action_read(), a lock is acquired before calling quad8_function_get() and quad8_direction_read() in order to get both function mode and direction atomically.
Fixes: f1d8a071d45b ("counter: 104-quad-8: Add Generic Counter interface support") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20221020141121.15434-1-william.gray@linaro.org/ Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
|