[PATCH 5.10 074/137] io_uring: use better types for cflags

From: Greg Kroah-Hartman
Date: Tue Jun 08 2021 - 15:04:28 EST


From: Pavel Begunkov <asml.silence@xxxxxxxxx>

[ Upstream commit 8c3f9cd1603d0e4af6c50ebc6d974ab7bdd03cf4 ]

__io_cqring_fill_event() takes cflags as long to squeeze it into u32 in
an CQE, awhile all users pass int or unsigned. Replace it with unsigned
int and store it as u32 in struct io_completion to match CQE.

Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
fs/io_uring.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 958c463c11eb..fdbaaf579cc6 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -545,7 +545,7 @@ struct io_statx {
struct io_completion {
struct file *file;
struct list_head list;
- int cflags;
+ u32 cflags;
};

struct io_async_connect {
@@ -1711,7 +1711,8 @@ static void io_cqring_overflow_flush(struct io_ring_ctx *ctx, bool force,
}
}

-static void __io_cqring_fill_event(struct io_kiocb *req, long res, long cflags)
+static void __io_cqring_fill_event(struct io_kiocb *req, long res,
+ unsigned int cflags)
{
struct io_ring_ctx *ctx = req->ctx;
struct io_uring_cqe *cqe;
--
2.30.2