io_uring/net: refactor io_sr_msg types
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 8 Sep 2022 12:20:33 +0000 (13:20 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 21 Sep 2022 16:30:43 +0000 (10:30 -0600)
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@gmail.com>
Link: https://lore.kernel.org/r/42c2639d6385b8b2181342d2af3a42d3b1c5bcd2.1662639236.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/net.c

index 9b76ceb..3ef2cc5 100644 (file)
@@ -55,21 +55,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;
 };