diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-09-16 16:50:25 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-09-16 16:50:25 +0300 |
commit | 0158137d816f60115aae2d3b4acdc67383a05c01 (patch) | |
tree | e204252b8ab01c0b20b296fc6766d56619f6022b /io_uring | |
parent | 5763d7f29652f94bdfc9dab87888f79ba6bb6c34 (diff) | |
parent | fc7222c3a9f56271fba02aabbfbae999042f1679 (diff) | |
download | linux-0158137d816f60115aae2d3b4acdc67383a05c01.tar.xz |
Merge tag 'io_uring-6.0-2022-09-16' of git://git.kernel.dk/linux-block
Pull io_uring fixes from Jens Axboe:
"Two small patches:
- Fix using an unsigned type for the return value, introduced in this
release (Pavel)
- Stable fix for a missing check for a fixed file on put (me)"
* tag 'io_uring-6.0-2022-09-16' of git://git.kernel.dk/linux-block:
io_uring/msg_ring: check file type before putting
io_uring/rw: fix error'ed retry return values
Diffstat (limited to 'io_uring')
-rw-r--r-- | io_uring/msg_ring.c | 3 | ||||
-rw-r--r-- | io_uring/rw.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/io_uring/msg_ring.c b/io_uring/msg_ring.c index 976c4ba68ee7..4a7e5d030c78 100644 --- a/io_uring/msg_ring.c +++ b/io_uring/msg_ring.c @@ -165,7 +165,8 @@ done: req_set_fail(req); io_req_set_res(req, ret, 0); /* put file to avoid an attempt to IOPOLL the req */ - io_put_file(req->file); + if (!(req->flags & REQ_F_FIXED_FILE)) + io_put_file(req->file); req->file = NULL; return IOU_OK; } diff --git a/io_uring/rw.c b/io_uring/rw.c index 1e18a44adcf5..76ebcfebc9a6 100644 --- a/io_uring/rw.c +++ b/io_uring/rw.c @@ -206,7 +206,7 @@ static bool __io_complete_rw_common(struct io_kiocb *req, long res) return false; } -static inline unsigned io_fixup_rw_res(struct io_kiocb *req, unsigned res) +static inline int io_fixup_rw_res(struct io_kiocb *req, long res) { struct io_async_rw *io = req->async_data; |