Showing error 1070

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: fs/fuse/dev.c
Line in file: 1013
Project: Linux Kernel
Project version: 2.6.28
Tools: Undetermined 1
Entered: 2012-03-04 17:07:06 UTC


Source:

 983 * waiter is woken up.  This will make request_wait_answer() wait
 984 * until the request is unlocked and then return.
 985 *
 986 * If the request is asynchronous, then the end function needs to be
 987 * called after waiting for the request to be unlocked (if it was
 988 * locked).
 989 */
 990static void end_io_requests(struct fuse_conn *fc)
 991        __releases(fc->lock) __acquires(fc->lock)
 992{
 993        while (!list_empty(&fc->io)) {
 994                struct fuse_req *req =
 995                        list_entry(fc->io.next, struct fuse_req, list);
 996                void (*end) (struct fuse_conn *, struct fuse_req *) = req->end;
 997
 998                req->aborted = 1;
 999                req->out.h.error = -ECONNABORTED;
1000                req->state = FUSE_REQ_FINISHED;
1001                list_del_init(&req->list);
1002                wake_up(&req->waitq);
1003                if (end) {
1004                        req->end = NULL;
1005                        /* The end function will consume this reference */
1006                        __fuse_get_request(req);
1007                        spin_unlock(&fc->lock);
1008                        wait_event(req->waitq, !req->locked);
1009                        end(fc, req);
1010                        spin_lock(&fc->lock);
1011                }
1012        }
1013}
1014
1015/*
1016 * Abort all requests.
1017 *
1018 * Emergency exit in case of a malicious or accidental deadlock, or
1019 * just a hung filesystem.
1020 *
1021 * The same effect is usually achievable through killing the
1022 * filesystem daemon and all users of the filesystem.  The exception
1023 * is the combination of an asynchronous request and the tricky
Show full sources