[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJfpegtS8QMfhNMFV3i6GycqmXsLNYXvKjRm3wG79PFuF1VvuA@mail.gmail.com>
Date: Tue, 11 Sep 2018 09:20:40 +0200
From: Miklos Szeredi <miklos@...redi.hu>
To: Christoph Hellwig <hch@...radead.org>
Cc: syzbot <syzbot+5b1df0420c523b45a953@...kaller.appspotmail.com>,
bcrl <bcrl@...ck.org>, linux-aio <linux-aio@...ck.org>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
syzkaller-bugs <syzkaller-bugs@...glegroups.com>,
Al Viro <viro@...iv.linux.org.uk>,
Andrea Arcangeli <aarcange@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: possible deadlock in aio_poll
On Tue, Sep 11, 2018 at 8:33 AM, Christoph Hellwig <hch@...radead.org> wrote:
> On Mon, Sep 10, 2018 at 08:14:20PM +0200, Miklos Szeredi wrote:
>> Why do pollable waitqueues need to disable interrupts generally?
>
> Any waitqueue needs to disable interrupts for consistency. We
> always use spin_lock_irqsave in __wake_up_common_lock() for example.
There are the _locked (non _irq) variants that do not.
And poll/select/etc don't impose non-interuptibility on wakeups
either. So it looks like it's just aio that has weird spin lock
dependencies that forces this requirement on a waitq used in ->poll().
Thanks,
Miklos
Powered by blists - more mailing lists