]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/fuse/dev.c
[PATCH] fuse: fuse_copy_finish() order fix
[karo-tx-linux.git] / fs / fuse / dev.c
index e08ab4702d97ca1099474c2833778d9e72c879b4..9af88953db692495654f48969bf23d5164fa82f0 100644 (file)
@@ -773,8 +773,10 @@ static ssize_t fuse_dev_writev(struct file *file, const struct iovec *iov,
 
        list_del_init(&req->list);
        if (req->interrupted) {
-               request_end(fc, req);
+               spin_unlock(&fuse_lock);
                fuse_copy_finish(&cs);
+               spin_lock(&fuse_lock);
+               request_end(fc, req);
                return -ENOENT;
        }
        req->out.h = oh;