]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
io_uring/net: refactor io_sr_msg types
authorPavel Begunkov <asml.silence@gmail.com>
Sun, 16 Oct 2022 20:33:25 +0000 (21:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Oct 2022 10:39:27 +0000 (12:39 +0200)
[ 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@gmail.com>
Link: https://lore.kernel.org/r/42c2639d6385b8b2181342d2af3a42d3b1c5bcd2.1662639236.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
io_uring/net.c

index 10778f067f8feb26c908af9f044f97e4eb660e9b..62682f0f57f10e2779877300d688f2770116e3ed 100644 (file)
@@ -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;
 };