io_uring: cleanup {g,s]etsockopt sqe reading
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 31 Mar 2025 07:55:11 +0000 (08:55 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 31 Mar 2025 13:08:46 +0000 (07:08 -0600)
Add a local variable for the sqe pointer to avoid repetition.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/8dbac0f9acda2d3842534eeb7ce10d9276b021ae.1743357108.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/uring_cmd.c

index 89cee2af0ec1952d4df0d25d7a6958ea5d727c5f..a9ea7d29cdd978ec8f5c3dc8bf41607ca077f865 100644 (file)
@@ -307,17 +307,18 @@ static inline int io_uring_cmd_getsockopt(struct socket *sock,
                                          struct io_uring_cmd *cmd,
                                          unsigned int issue_flags)
 {
+       const struct io_uring_sqe *sqe = cmd->sqe;
        bool compat = !!(issue_flags & IO_URING_F_COMPAT);
        int optlen, optname, level, err;
        void __user *optval;
 
-       level = READ_ONCE(cmd->sqe->level);
+       level = READ_ONCE(sqe->level);
        if (level != SOL_SOCKET)
                return -EOPNOTSUPP;
 
-       optval = u64_to_user_ptr(READ_ONCE(cmd->sqe->optval));
-       optname = READ_ONCE(cmd->sqe->optname);
-       optlen = READ_ONCE(cmd->sqe->optlen);
+       optval = u64_to_user_ptr(READ_ONCE(sqe->optval));
+       optname = READ_ONCE(sqe->optname);
+       optlen = READ_ONCE(sqe->optlen);
 
        err = do_sock_getsockopt(sock, compat, level, optname,
                                 USER_SOCKPTR(optval),
@@ -333,15 +334,16 @@ static inline int io_uring_cmd_setsockopt(struct socket *sock,
                                          struct io_uring_cmd *cmd,
                                          unsigned int issue_flags)
 {
+       const struct io_uring_sqe *sqe = cmd->sqe;
        bool compat = !!(issue_flags & IO_URING_F_COMPAT);
        int optname, optlen, level;
        void __user *optval;
        sockptr_t optval_s;
 
-       optval = u64_to_user_ptr(READ_ONCE(cmd->sqe->optval));
-       optname = READ_ONCE(cmd->sqe->optname);
-       optlen = READ_ONCE(cmd->sqe->optlen);
-       level = READ_ONCE(cmd->sqe->level);
+       optval = u64_to_user_ptr(READ_ONCE(sqe->optval));
+       optname = READ_ONCE(sqe->optname);
+       optlen = READ_ONCE(sqe->optlen);
+       level = READ_ONCE(sqe->level);
        optval_s = USER_SOCKPTR(optval);
 
        return do_sock_setsockopt(sock, compat, level, optname, optval_s,