From: Josh Triplett request_end and fuse_read_interrupt release fc->lock. Add lock annotations to these two functions so that sparse can check callers for lock pairing, and so that sparse will not complain about these functions since they intentionally use locks in this manner. Signed-off-by: Josh Triplett Acked-by: Miklos Szeredi Signed-off-by: Andrew Morton --- fs/fuse/dev.c | 2 ++ 1 file changed, 2 insertions(+) diff -puN fs/fuse/dev.c~fuse-add-lock-annotations-to-request_end-and-fuse_read_interrupt fs/fuse/dev.c --- a/fs/fuse/dev.c~fuse-add-lock-annotations-to-request_end-and-fuse_read_interrupt +++ a/fs/fuse/dev.c @@ -212,6 +212,7 @@ void fuse_put_request(struct fuse_conn * * Called with fc->lock, unlocks it */ static void request_end(struct fuse_conn *fc, struct fuse_req *req) + __releases(fc->lock) { void (*end) (struct fuse_conn *, struct fuse_req *) = req->end; req->end = NULL; @@ -640,6 +641,7 @@ static void request_wait(struct fuse_con */ static int fuse_read_interrupt(struct fuse_conn *fc, struct fuse_req *req, const struct iovec *iov, unsigned long nr_segs) + __releases(fc->lock) { struct fuse_copy_state cs; struct fuse_in_header ih; _