OSDN Git Service
(root)
/
tomoyo
/
tomoyo-test1.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a0727c7
)
io_uring: cqe init hardening
author
Pavel Begunkov
<asml.silence@gmail.com>
Thu, 24 Aug 2023 22:53:24 +0000
(23:53 +0100)
committer
Jens Axboe
<axboe@kernel.dk>
Thu, 24 Aug 2023 23:16:19 +0000
(17:16 -0600)
io_kiocb::cqe stores the completion info which we'll memcpy to
userspace, and we rely on callbacks and other later steps to populate
it with right values. We have never had problems with that, but it would
still be safer to zero it on allocation.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link:
https://lore.kernel.org/r/b16a3b64dde678686460d3c3792c3ba6d3d1bc7a.1692916914.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c
patch
|
blob
|
history
diff --git
a/io_uring/io_uring.c
b/io_uring/io_uring.c
index
e1a23f4
..
3e0fe1e
100644
(file)
--- a/
io_uring/io_uring.c
+++ b/
io_uring/io_uring.c
@@
-1056,7
+1056,7
@@
static void io_preinit_req(struct io_kiocb *req, struct io_ring_ctx *ctx)
req->link = NULL;
req->async_data = NULL;
/* not necessary, but safer to zero */
-
req->cqe.res = 0
;
+
memset(&req->cqe, 0, sizeof(req->cqe))
;
}
static void io_flush_cached_locked_reqs(struct io_ring_ctx *ctx,