Blob Blame History Raw
From bb68d504f7c4183178b00c1af68fca870728e7e0 Mon Sep 17 00:00:00 2001
From: Jens Axboe <axboe@kernel.dk>
Date: Fri, 29 Apr 2022 09:25:12 -0600
Subject: [PATCH] io_uring: ignore ->buf_index if REQ_F_BUFFER_SELECT isn't set
Git-commit: bb68d504f7c4183178b00c1af68fca870728e7e0
Patch-mainline: v5.19-rc1
References: bsc#1205205

There's no point in validity checking buf_index if the request doesn't
have REQ_F_BUFFER_SELECT set, as we will never use it for that case.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Gabriel Krisman Bertazi <krisman@suse.de>
---
 fs/io_uring.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index e13316969e9e..bd0ee2f7df2c 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -3573,10 +3573,6 @@ static struct iovec *__io_import_iovec(int rw, struct io_kiocb *req,
 		return NULL;
 	}
 
-	/* buffer index only valid with fixed read/write, or buffer select  */
-	if (unlikely(req->buf_index && !(req->flags & REQ_F_BUFFER_SELECT)))
-		return ERR_PTR(-EINVAL);
-
 	buf = u64_to_user_ptr(req->rw.addr);
 	sqe_len = req->rw.len;
 
-- 
2.35.3