The commit is pushed to "branch-rh7-3.10.0-693.17.1.vz7.45.x-ovz" and will 
appear at
after rh7-3.10.0-693.17.1.vz7.43.7
commit ad0ba9881818baae707c42471c8a13ce9449fefd
Author: Dmitry Monakhov <>
Date:   Mon Feb 19 14:06:59 2018 +0300

    fuse: fix ->end() vs ->waitq ordering
    Currently waiter notified about request completion before ->eio()
    which result in race betweel synchronious waiter and ->eio() callback.
    Luckily  there are no synchronous requests which define such callback.
    So this patch should not affect existing callers.
    Signed-off-by: Dmitry Monakhov <>
 fs/fuse/dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 9e77e198de60..a4ea60370586 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -394,9 +394,9 @@ static void request_end(struct fuse_conn *fc, struct 
fuse_req *req)
                flush_bg_queue(fc, fiq);
-       wake_up(&req->waitq);
        if (req->end)
                req->end(fc, req);
+       wake_up(&req->waitq);
        fuse_put_request(fc, req);
Devel mailing list

Reply via email to