Re: possible deadlock in generic_file_write_iter

From: Dmitry Vyukov
Date: Mon Nov 06 2017 - 08:36:20 EST


On Mon, Nov 6, 2017 at 2:33 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> On Mon, Nov 06, 2017 at 02:15:44PM +0100, Jan Kara wrote:
>
>> > Should we annotate these inodes with different lock types? Or use
>> > nesting annotations?
>>
>> Well, you'd need to have a completely separate set of locking classes for
>> each filesystem to avoid false positives like these. And that would
>> increase number of classes lockdep has to handle significantly. So I'm not
>> sure it's really worth it...
>
> Especially when you consider that backing file might be on a filesystem
> that lives on another loop device. *All* per-{device,fs} locks involved
> would need classes split that way...


This crashes our test machines left and right. We've seen 100000+ of
these crashes. We need to do at least something. Can we disable all
checking of these mutexes if they inherently have positives?

+Ingo, Peter, maybe you have some suggestions of how to fight this
lockdep false positives. Full thread is here:
https://groups.google.com/forum/#!msg/syzkaller-bugs/NJ_4llH84XI/c7M9jNLTAgAJ