commit | 908a572b80f6e9577b45e81b3dfe2e22111286b8 | [log] [tgz] |
---|---|---|
author | Miklos Szeredi <mszeredi@redhat.com> | Fri Sep 28 16:43:22 2018 +0200 |
committer | Miklos Szeredi <mszeredi@redhat.com> | Fri Sep 28 16:43:22 2018 +0200 |
tree | 9752e255244d3e6314f471fdc15f4491c1dc8939 | |
parent | 4c316f2f3ff315cb48efb7435621e5bfb81df96d [diff] |
fuse: fix blocked_waitq wakeup 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: Miklos Szeredi <mszeredi@redhat.com> Fixes: 3c18ef8117f0 ("fuse: optimize wake_up") Cc: <stable@vger.kernel.org> # v3.10