Re: [PATCH] driver core: Fix use-after-free and double free on glue directory

From: Gaurav Kohli
Date: Thu May 09 2019 - 23:32:37 EST

Thanks for the comment, will check the patch and update.


On 5/10/2019 4:52 AM, Benjamin Herrenschmidt wrote:
On Thu, 2019-05-09 at 20:08 +0530, Gaurav Kohli wrote:
Hi ,

Last patch will serialize the addition of child to parent directory,
won't it affect performance.

I doubt this is a significant issue, and there's already a global lock
taken once or twice in that path, the fix is purely to make sure that
the some locked section is used both for the lookup and the addition as
the bug comes from the window in between those two operations allowing
the object to be removed after it was "found".



On 5/4/2019 9:04 PM, Greg KH wrote:
On Sat, May 04, 2019 at 10:47:07PM +0800, Muchun Song wrote:
Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> ä2019å5æ2æåå

The basic idea yes, the whole bool *locked is horrid
Wouldn't it
work to have a get_device_parent_locked that always returns
the mutex held,
or just move the mutex to the caller or something simpler
like this

Greg and Rafael, do you have any suggestions for this? Or you
agree with Ben?

Ping guys ? This is worth fixing...

I also agree with you. But Greg and Rafael seem to be high
latency right now.

It's in my list of patches to get to, sorry, hopefully will dig out
that next week with the buffer that the merge window provides me.


greg k-h

Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center,
Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.