Commit 8542f171 authored by Amir Goldstein's avatar Amir Goldstein
Browse files

ovl: fix file reference leak when submitting aio



Commit 724768a3 ("ovl: fix incorrect fdput() on aio completion")
took a refcount on real file before submitting aio, but forgot to
avoid clearing FDPUT_FPUT from real.flags stack variable.
This can result in a file reference leak.

Fixes: 724768a3 ("ovl: fix incorrect fdput() on aio completion")
Reported-by: default avatarGil Lev <contact@levgil.com>
Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
parent 8a749fd1
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -341,7 +341,6 @@ static ssize_t ovl_read_iter(struct kiocb *iocb, struct iov_iter *iter)
		if (!aio_req)
			goto out;

		real.flags = 0;
		aio_req->orig_iocb = iocb;
		kiocb_clone(&aio_req->iocb, iocb, get_file(real.file));
		aio_req->iocb.ki_complete = ovl_aio_rw_complete;
@@ -413,7 +412,6 @@ static ssize_t ovl_write_iter(struct kiocb *iocb, struct iov_iter *iter)
		if (!aio_req)
			goto out;

		real.flags = 0;
		aio_req->orig_iocb = iocb;
		kiocb_clone(&aio_req->iocb, iocb, get_file(real.file));
		aio_req->iocb.ki_flags = ifl;