Commit 9deed1d5 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'io_uring-6.11-20240722' of git://git.kernel.dk/linux

Pull io_uring fixes from Jens Axboe:
 "Two minor fixes in here, both heading to stable. In detail:

   - Fix error where forced async uring_cmd getsockopt returns the wrong
     value on execution, leading to it never being completed (Pavel)

   - Fix io_alloc_pbuf_ring() using a NULL check rather than IS_ERR
     (Pavel)"

* tag 'io_uring-6.11-20240722' of git://git.kernel.dk/linux:
  io_uring: fix error pbuf checking
  io_uring: fix lost getsockopt completions
parents 7d080fa8 bcc87d97
...@@ -657,8 +657,10 @@ static int io_alloc_pbuf_ring(struct io_ring_ctx *ctx, ...@@ -657,8 +657,10 @@ static int io_alloc_pbuf_ring(struct io_ring_ctx *ctx,
ring_size = reg->ring_entries * sizeof(struct io_uring_buf_ring); ring_size = reg->ring_entries * sizeof(struct io_uring_buf_ring);
bl->buf_ring = io_pages_map(&bl->buf_pages, &bl->buf_nr_pages, ring_size); bl->buf_ring = io_pages_map(&bl->buf_pages, &bl->buf_nr_pages, ring_size);
if (!bl->buf_ring) if (IS_ERR(bl->buf_ring)) {
bl->buf_ring = NULL;
return -ENOMEM; return -ENOMEM;
}
bl->is_buf_ring = 1; bl->is_buf_ring = 1;
bl->is_mmap = 1; bl->is_mmap = 1;
......
...@@ -265,7 +265,7 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags) ...@@ -265,7 +265,7 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
req_set_fail(req); req_set_fail(req);
io_req_uring_cleanup(req, issue_flags); io_req_uring_cleanup(req, issue_flags);
io_req_set_res(req, ret, 0); io_req_set_res(req, ret, 0);
return ret; return ret < 0 ? ret : IOU_OK;
} }
int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw, int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment