[PATCH 5.10.y] io_uring: fix uninitialized field in rw io_kiocb

From: Miguel Gazquez (Schneider Electric)

Date: Wed Sep 16 2026 - 11:18:32 EST


From: Joseph Ravichandran <jravi@xxxxxxx>

[ Upstream commit 32452a3eb8b64e01e2be717f518c0be046975b9d ]

io_rw_init_file does not initialize kiocb->private, so when iocb_bio_iopoll
reads kiocb->private it can contain uninitialized data.

Fixes: 3e08773c3841 ("block: switch polling to be bio based")
Signed-off-by: Joseph Ravichandran <jravi@xxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
Signed-off-by: Miguel Gazquez (Schneider Electric) <miguel.gazquez@xxxxxxxxxxx>
---
io_uring/io_uring.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index 01eff1694d8c..c1716140348b 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -2985,6 +2985,7 @@ static int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe,
!kiocb->ki_filp->f_op->iopoll)
return -EOPNOTSUPP;

+ kiocb->private = NULL;
kiocb->ki_flags |= IOCB_HIPRI;
kiocb->ki_complete = io_complete_rw_iopoll;
req->iopoll_completed = 0;

---
base-commit: 1797d8bf8d0c2e74defad605d14e3553d43a3caf
change-id: 20260916-cve-2022-29968-09cc4ab776fa

Best regards,
--
Miguel Gazquez (Schneider Electric) <miguel.gazquez@xxxxxxxxxxx>