• Miklos Szeredi's avatar
    fuse: fix blocked_waitq wakeup · 908a572b
    Miklos Szeredi authored
    Using waitqueue_active() is racy.  Make sure we issue a wake_up()
    unconditionally after storing into fc->blocked.  After that it's okay to
    optimize with waitqueue_active() since the first wake up provides the
    necessary barrier for all waiters, not the just the woken one.
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    Fixes: 3c18ef81 ("fuse: optimize wake_up")
    Cc: <stable@vger.kernel.org> # v3.10
    908a572b
dev.c 52.2 KB