lkml.org 
[lkml]   [2018]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH 4/6] fuse: Check for FR_SENT bit in fuse_dev_do_write()
From
Date
It's not possible to have answer to a request,
before the request is actually sent. Add sanity
check for that.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
---
fs/fuse/dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 739968ee8b0c..c603f1ebf0fd 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -1947,7 +1947,7 @@ static ssize_t fuse_dev_do_write(struct fuse_dev *fud,
goto err_unlock_pq;

req = request_find(fpq, oh.unique & ~FUSE_INT_REQ_BIT);
- if (!req)
+ if (!req || !test_bit(FR_SENT, &req->flags))
goto err_unlock_pq;

/* Is it an interrupt reply ID? */
\
 
 \ /
  Last update: 2018-11-06 10:31    [W:0.648 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site