OSDN Git Service

io_uring: free selected-bufs if error'ed
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 16 Jul 2020 20:28:02 +0000 (23:28 +0300)
committerJens Axboe <axboe@kernel.dk>
Fri, 24 Jul 2020 19:00:45 +0000 (13:00 -0600)
commit0e1b6fe3d1e5f1b79c5bec37881c98febfba7718
tree01e800fd7d001676ad5bdb44d23ce079afa26d30
parent14c32eee9286621dd437b53460e44bd11e5bc08d
io_uring: free selected-bufs if error'ed

io_clean_op() may be skipped even if there is a selected io_buffer,
that's because *select_buffer() funcions never set REQ_F_NEED_CLEANUP.

Trigger io_clean_op() when REQ_F_BUFFER_SELECTED is set as well, and
and clear the flag if was freed out of it.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c