[PATCH 6.0 842/862] io_uring/net: refactor io_sr_msg types

From: Greg Kroah-Hartman
Date: Wed Oct 19 2022 - 06:45:06 EST


From: Pavel Begunkov <asml.silence@xxxxxxxxx>

[ upstream commit 0b048557db761d287777360a100e1d010760d209 ]

In preparation for using struct io_sr_msg for zerocopy sends, clean up
types. First, flags can be u16 as it's provided by the userspace in u16
ioprio, as well as addr_len. This saves us 4 bytes. Also use unsigned
for size and done_io, both are as well limited to u32.

Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
Link: https://lore.kernel.org/r/42c2639d6385b8b2181342d2af3a42d3b1c5bcd2.1662639236.git.asml.silence@xxxxxxxxx
Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
io_uring/net.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

--- a/io_uring/net.c
+++ b/io_uring/net.c
@@ -56,21 +56,21 @@ struct io_sr_msg {
struct user_msghdr __user *umsg;
void __user *buf;
};
+ unsigned len;
+ unsigned done_io;
unsigned msg_flags;
- unsigned flags;
- size_t len;
- size_t done_io;
+ u16 flags;
};

struct io_sendzc {
struct file *file;
void __user *buf;
- size_t len;
+ unsigned len;
+ unsigned done_io;
unsigned msg_flags;
- unsigned flags;
- unsigned addr_len;
+ u16 flags;
+ u16 addr_len;
void __user *addr;
- size_t done_io;
struct io_kiocb *notif;
};