Kirill Tkhai
ab962e9100
fuse: Fix use-after-free in fuse_dev_do_write()
commit d2d2d4fb1f54eff0f3faa9762d84f6446a4bc5d0 upstream.
After we found req in request_find() and released the lock,
everything may happen with the req in parallel:
cpu0 cpu1
fuse_dev_do_write() fuse_dev_do_write()
req = request_find(fpq, ...) ...
spin_unlock(&fpq->lock) ...
... req = request_find(fpq, oh.unique)
... spin_unlock(&fpq->lock)
queue_interrupt(&fc->iq, req); ...
... ...
... ...
request_end(fc, req);
fuse_put_request(fc, req);
... queue_interrupt(&fc->iq, req);
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: 46c34a348b0a ("fuse: no fc->lock for pqueue parts")
Cc: <stable@vger.kernel.org> # v4.2
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-21 09:24:05 +01:00
..
2018-11-21 09:24:04 +01:00
2017-11-02 11:10:55 +01:00
2018-05-30 07:51:47 +02:00
2018-07-08 15:30:51 +02:00
2018-09-19 22:43:48 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-11-13 11:15:18 -08:00
2018-11-10 07:48:34 -08:00
2018-08-24 13:09:07 +02:00
2018-11-13 11:15:09 -08:00
2017-11-24 08:37:05 +01:00
2018-09-26 08:38:10 +02:00
2018-11-13 11:15:12 -08:00
2018-08-03 07:50:32 +02:00
2018-07-17 11:39:26 +02:00
2017-11-02 11:10:55 +01:00
2018-06-21 04:02:42 +09:00
2017-11-02 11:10:55 +01:00
2017-09-07 11:59:42 -07:00
2018-07-11 16:29:22 +02:00
2018-11-13 11:15:06 -08:00
2018-11-13 11:15:01 -08:00
2018-11-04 14:52:47 +01:00
2018-09-05 09:26:29 +02:00
2018-11-21 09:24:05 +01:00
2018-11-13 11:15:05 -08:00
2018-09-15 09:45:26 +02:00
2018-09-15 09:45:27 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-19 08:56:21 +02:00
2018-10-03 17:00:57 -07:00
2018-11-13 11:15:05 -08:00
2018-11-13 11:14:45 -08:00
2018-08-09 12:16:39 +02:00
2018-02-16 20:22:59 +01:00
2018-11-13 11:15:10 -08:00
2017-11-02 11:10:55 +01:00
2018-03-28 18:24:43 +02:00
2018-11-13 11:15:10 -08:00
2018-02-03 17:39:08 +01:00
2018-11-10 07:48:33 -08:00
2018-05-30 07:51:47 +02:00
2017-11-02 11:10:55 +01:00
2018-11-10 07:48:34 -08:00
2017-11-02 11:10:55 +01:00
2018-11-04 14:52:41 +01:00
2017-11-02 11:10:55 +01:00
2018-06-26 08:06:33 +08:00
2018-11-21 09:24:04 +01:00
2018-11-13 11:15:08 -08:00
2018-09-26 08:38:05 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-09-09 19:56:02 +02:00
2017-09-06 17:27:26 -07:00
2018-09-15 09:45:27 +02:00
2017-11-02 11:10:55 +01:00
2018-09-05 09:26:32 +02:00
2018-09-05 09:26:41 +02:00
2017-11-02 11:10:55 +01:00
2018-10-13 09:27:29 +02:00
2018-07-03 11:25:03 +02:00
2018-05-30 07:51:47 +02:00
2018-11-10 07:48:34 -08:00
2018-06-05 11:41:54 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-09-04 19:05:15 -04:00
2017-09-14 18:13:32 -07:00
2018-09-26 08:38:09 +02:00
2017-11-02 11:10:55 +01:00
2018-06-26 08:06:33 +08:00
2017-10-03 17:54:25 -07:00
2018-08-03 07:50:42 +02:00
2017-11-30 08:40:45 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-26 11:02:14 +02:00
2018-10-18 09:16:25 +02:00
2018-03-08 22:41:06 -08:00
2017-11-02 11:10:55 +01:00
2017-09-08 18:26:49 -07:00
2018-03-03 10:24:21 +01:00
2017-12-17 15:07:59 +01:00
2017-11-02 11:10:55 +01:00
2017-08-28 00:50:23 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-16 10:10:25 +02:00
2018-07-17 11:39:27 +02:00
2017-09-13 09:11:44 -07:00
2018-11-10 07:48:33 -08:00
2018-10-03 17:00:53 -07:00
2018-10-03 17:00:53 -07:00
2017-11-02 11:10:55 +01:00
2018-02-22 15:42:25 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-19 08:56:19 +02:00
2018-10-20 09:48:52 +02:00
2017-11-02 11:10:55 +01:00
2017-09-05 12:53:12 +02:00
2018-02-16 20:23:05 +01:00
2017-11-02 11:10:55 +01:00
2018-11-10 07:48:33 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-02-22 15:42:28 +01:00
2017-11-02 11:10:55 +01:00
2017-09-04 19:05:15 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-30 07:51:47 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-06 16:20:49 +02:00
2017-11-02 11:10:55 +01:00
2018-10-10 08:54:27 +02:00