6.17-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alok Tiwari alok.a.tiwari@oracle.com
[ Upstream commit 4ec703ec0c384a2199808c4eb2e9037236285a8d ]
The negation operator is incorrectly placed outside the unlikely() macro:
if (!unlikely(iwa))
This inverts the compiler branch prediction hint, marking the NULL case as likely instead of unlikely. The intent is to indicate that allocation failures are rare, consistent with common kernel patterns.
Moving the negation inside unlikely():
if (unlikely(!iwa))
Fixes: 2b4fc4cd43f2 ("io_uring/waitid: setup async data in the prep handler") Signed-off-by: Alok Tiwari alok.a.tiwari@oracle.com Reviewed-by: Gabriel Krisman Bertazi krisman@suse.de Reviewed-by: Caleb Sander Mateos csander@purestorage.com Signed-off-by: Jens Axboe axboe@kernel.dk Signed-off-by: Sasha Levin sashal@kernel.org --- io_uring/waitid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/io_uring/waitid.c b/io_uring/waitid.c index 3101ad8ec0cf6..c8ca00e681f77 100644 --- a/io_uring/waitid.c +++ b/io_uring/waitid.c @@ -252,7 +252,7 @@ int io_waitid_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) return -EINVAL;
iwa = io_uring_alloc_async_data(NULL, req); - if (!unlikely(iwa)) + if (unlikely(!iwa)) return -ENOMEM; iwa->req = req;