Thread
Commits
-
aio: io_uring: Fix danger of completion getting reused before being read
- 7f1b3a4cea56 18.2 landed
- 8077649907d4 19 (unreleased) landed
-
io_uring: Fix danger of completion getting reused before being read
Andres Freund <andres@anarazel.de> — 2026-01-15T15:38:43Z
Hi, I privately got a report about a bug in method_io_uring.c: We are calling io_uring_cqe_seen(..., cqe) before reading cqe->res. That allows the completion to be reused, which in turn could lead to cqe->res being overwritten. The window for that is very narrow and the likelihood of it happening is very low, as we should never actually utilize all CQEs, but the consequences would be bad. I plan to push the fix soon-ish. Greetings, Andres Freund
-
Re: io_uring: Fix danger of completion getting reused before being read
Kirill Reshke <reshkekirill@gmail.com> — 2026-01-15T18:53:56Z
On Thu, 15 Jan 2026 at 20:38, Andres Freund <andres@anarazel.de> wrote: > > Hi, > > I privately got a report about a bug in method_io_uring.c: > > We are calling io_uring_cqe_seen(..., cqe) before reading cqe->res. That > allows the completion to be reused, which in turn could lead to cqe->res being > overwritten. The window for that is very narrow and the likelihood of it > happening is very low, as we should never actually utilize all CQEs, but the > consequences would be bad. > > I plan to push the fix soon-ish. > > Greetings, > > Andres Freund I see this is already committed as 807764990. Just pointing in case somebody wants to review. -- Best regards, Kirill Reshke