[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4e0b199c-40d7-4222-f333-601134a817a1@codeaurora.org>
Date: Fri, 11 Oct 2019 11:43:23 -0700
From: Chris Lew <clew@...eaurora.org>
To: Stephen Boyd <swboyd@...omium.org>, bjorn.andersson@...aro.org,
ohad@...ery.com
Cc: aneela@...eaurora.org, linux-arm-msm@...r.kernel.org,
linux-remoteproc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] rpmsg: glink: Remove channel decouple from rpdev release
On 10/9/2019 10:04 PM, Stephen Boyd wrote:
> Quoting Chris Lew (2019-10-08 18:33:45)
>> If a channel is being rapidly restarted and the kobj release worker is
>> busy, there is a chance the the rpdev_release function will run after
>> the channel struct itself has been released.
>>
>> There should not be a need to decouple the channel from rpdev in the
>> rpdev release since that should only happen from the channel close
>> commands.
>>
>> Signed-off-by: Chris Lew <clew@...eaurora.org>
>
> Fixes tag? The whole thing sounds broken and probably is still racy in
> the face of SMP given that channel->rpdev is tested for "published" or
> not. Can you describe the race that you're closing more?
>
Thanks Stephen, will add Fixes tag and try to describe the race better.
I agree that the whole thing sounds broken, the glink channel cleanup
code has a couple bugs that need to be addressed in a more extensive
patch. This patch is more to address the immediate issue of a
use-after-free from one of the races.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
Powered by blists - more mailing lists