Re: [PATCH] aio: Fix locking in aio_poll()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2019-02-05 at 09:12 +-0100, Miklos Szeredi wrote:
+AD4 Not all variants of the waitqueue interface require irqs to be
+AD4 disabled, and fuse has nothing whatsoever to do with irqs, so there's
+AD4 no sane reason to disable them.
+AD4 
+AD4 Also, AFAICS, the fuse device does not support asynchronous IO.  I
+AD4 just don't get what this is about...

Hi Miklos,

Could this be what happens?

aio+AF8-poll() calls vfs+AF8-poll()
  vfs+AF8-poll() calls fuse+AF8-dev+AF8-poll()
    fuse+AF8-dev+AF8-poll() calls poll+AF8-wait(file, +ACY-fiq-+AD4-waitq, wait)
      poll+AF8-wait() calls aio+AF8-poll+AF8-queue+AF8-proc(file, +ACY-fiq-+AD4-waitq, wait)
        aio+AF8-poll+AF8-queue+AF8-proc() stores +ACY-fiq-+AD4-waitq in pt-+AD4-iocb-+AD4-poll.head
aio+AF8-poll() calls spin+AF8-lock+AF8-irq(+ACY-ctx-+AD4-ctx+AF8-lock)
aio+AF8-poll() calls spin+AF8-lock(+ACY-req-+AD4-head-+AD4-lock) (req +AD0APQ +ACY-pt-+AD4-iocb-+AD4-poll).

I think the lockdep complaint is about the FUSE fiq-+AD4-waitq lock not being
IRQ-safe and about aio+AF8-poll() creating a dependency between an IRQ-safe lock
(ctx-+AD4-ctx+AF8-lock) and a lock that is not IRQ-safe (fiq-+AD4-waitq).

Thanks,

Bart.



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux