Hi Beata, On 3/4/21 3:07 PM, Beata Michalska wrote:
The current_opp when set, grabs additional reference on the opp, which is then supposed to be dropped upon releasing the opp table. Still both dev_pm_opp_remove_table and dev_pm_opp_remove_all_dynamic will completely drain the OPPs list, including dropping the additional reference on current_opp. This may lead to an attempt to access memory that has already been released. Make sure that while draining the list (in both dynamic and static cases) the current_opp gets actually invalidated.Fixes: 81c4d8a3c414 ("opp: Keep track of currently programmed OPP") Signed-off-by: Beata Michalska <[email protected]> --- drivers/opp/core.c | 49 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 17 deletions(-)
The change looks good. Reviewed-by: Lukasz Luba <[email protected]> Regards, Lukasz

