Infinite loop in task_dentry_path

Henrik /KaarPoSoft henrik@kaarposoft.dk
Mon Jun 2 16:58:00 GMT 2014


On 05/27/2014 03:49 PM, David Smith wrote:
> On 05/22/2014 04:49 PM, Henrik /KaarPoSoft wrote:
>> On 05/22/2014 05:38 PM, David Smith wrote:
>>> On 05/09/2014 04:23 PM, Henrik /KaarPoSoft wrote:
>>>> On 05/09/2014 05:29 PM, David Smith wrote:
>>>>> On 05/08/2014 05:34 PM, Henrik /KaarPoSoft wrote:
>>>> Here is how to reproduce:
>>>
>>> Ah, that does reproduce the problem for me on a rawhide system (I
>>> haven't tried other places). When I add you patch to task_dentry_path(),
>>> it does get farther, but then I get a read fault. I'll have to dig
>>> deeper.
>>>
>>>>
>>>> The patch is probably wrong, and I hope that someone more
>>>> knowledgeable than me may come up with a better one.
>>>>
>>>> However, if I look at the comment about task_dentry_path in
>>>> https://sourceware.org/git/gitweb.cgi?p=systemtap.git;a=blob;f=tapset/linux/dentry.stp
>>>>
>>>>
>>>> it seems to me that is based on the kernel's d_path().
>>>>
>>>> And the comment in the top of
>>>> http://lxr.free-electrons.com/source/fs/dcache.c#L3052
>>>> says something about "synthetic filesystems",
>>>> and just maybe this is doing something to overcome the problem.
>>>
>>> Hmm, interesting. Thanks for the pointer.
>
> I went ahead and filed PR16991 (infinite loop in task_dentry_path) on
> this issue, you should be CC'ed on it.
>
>> I hope that you will be able to find a more generic solution
>> than my lame patch!
>
> Your patch isn't lame, I'm just not sure it is quite correct. I've spend
> a couple of days trying to figure out what is going on here and the best
> way to fix it. I may end up using your patch yet.
>
> Hopefully I'll have something for you to try soon.
>

I am happy to confirm that commit 979929ed + 6478c9d2
fixes the issue in my use-case:
http://kaarpux.kaarposoft.dk/dependency_tracking.html

Thank you !!!!

/Henrik



More information about the Systemtap mailing list