OSDN Git Service

fuse: set FR_SENT while locked
authorMiklos Szeredi <mszeredi@redhat.com>
Fri, 28 Sep 2018 14:43:22 +0000 (16:43 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 28 Sep 2018 14:43:22 +0000 (16:43 +0200)
commit4c316f2f3ff315cb48efb7435621e5bfb81df96d
tree9b4f8eca3b8b9b0c4823bc65f6c28785bce15d8e
parentd2d2d4fb1f54eff0f3faa9762d84f6446a4bc5d0
fuse: set FR_SENT while locked

Otherwise fuse_dev_do_write() could come in and finish off the request, and
the set_bit(FR_SENT, ...) could trigger the WARN_ON(test_bit(FR_SENT, ...))
in request_end().

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Reported-by: syzbot+ef054c4d3f64cd7f7cec@syzkaller.appspotmai
Fixes: 46c34a348b0a ("fuse: no fc->lock for pqueue parts")
Cc: <stable@vger.kernel.org> # v4.2
fs/fuse/dev.c