| From 23331b00bb0a24f1cf90f48b879cefd93448cc14 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 28 Feb 2021 22:35:15 +0000 |
| Subject: io_uring: use better types for cflags |
| |
| From: Pavel Begunkov <asml.silence@gmail.com> |
| |
| [ 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@gmail.com> |
| Signed-off-by: Jens Axboe <axboe@kernel.dk> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 |
| |