git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
fuse: fix use-after-free in fuse_direct_IO()
[sfrench/cifs-2.6.git]
/
fs
/
fuse
/
file.c
diff --git
a/fs/fuse/file.c
b/fs/fuse/file.c
index cc2121b37bf5f7d3bb0a57398a2abfc6948ad321..b52f9baaa3e7b9c98478a8c115748ae71fb7b0e1 100644
(file)
--- a/
fs/fuse/file.c
+++ b/
fs/fuse/file.c
@@
-2924,10
+2924,12
@@
fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
}
if (io->async) {
+ bool blocking = io->blocking;
+
fuse_aio_complete(io, ret < 0 ? ret : 0, -1);
/* we have a non-extending, async request, so return */
- if (!
io->
blocking)
+ if (!blocking)
return -EIOCBQUEUED;
wait_for_completion(&wait);