@@ -307,17 +307,18 @@ static inline int io_uring_cmd_getsockopt(struct socket *sock,
307307 struct io_uring_cmd * cmd ,
308308 unsigned int issue_flags )
309309{
310+ const struct io_uring_sqe * sqe = cmd -> sqe ;
310311 bool compat = !!(issue_flags & IO_URING_F_COMPAT );
311312 int optlen , optname , level , err ;
312313 void __user * optval ;
313314
314- level = READ_ONCE (cmd -> sqe -> level );
315+ level = READ_ONCE (sqe -> level );
315316 if (level != SOL_SOCKET )
316317 return - EOPNOTSUPP ;
317318
318- optval = u64_to_user_ptr (READ_ONCE (cmd -> sqe -> optval ));
319- optname = READ_ONCE (cmd -> sqe -> optname );
320- optlen = READ_ONCE (cmd -> sqe -> optlen );
319+ optval = u64_to_user_ptr (READ_ONCE (sqe -> optval ));
320+ optname = READ_ONCE (sqe -> optname );
321+ optlen = READ_ONCE (sqe -> optlen );
321322
322323 err = do_sock_getsockopt (sock , compat , level , optname ,
323324 USER_SOCKPTR (optval ),
@@ -333,15 +334,16 @@ static inline int io_uring_cmd_setsockopt(struct socket *sock,
333334 struct io_uring_cmd * cmd ,
334335 unsigned int issue_flags )
335336{
337+ const struct io_uring_sqe * sqe = cmd -> sqe ;
336338 bool compat = !!(issue_flags & IO_URING_F_COMPAT );
337339 int optname , optlen , level ;
338340 void __user * optval ;
339341 sockptr_t optval_s ;
340342
341- optval = u64_to_user_ptr (READ_ONCE (cmd -> sqe -> optval ));
342- optname = READ_ONCE (cmd -> sqe -> optname );
343- optlen = READ_ONCE (cmd -> sqe -> optlen );
344- level = READ_ONCE (cmd -> sqe -> level );
343+ optval = u64_to_user_ptr (READ_ONCE (sqe -> optval ));
344+ optname = READ_ONCE (sqe -> optname );
345+ optlen = READ_ONCE (sqe -> optlen );
346+ level = READ_ONCE (sqe -> level );
345347 optval_s = USER_SOCKPTR (optval );
346348
347349 return do_sock_setsockopt (sock , compat , level , optname , optval_s ,
0 commit comments