@@ -262,6 +262,7 @@ static int io_msg_copy_hdr(struct io_kiocb *req, struct io_async_msghdr *iomsg,
262262 struct user_msghdr * msg , int ddir )
263263{
264264 struct io_sr_msg * sr = io_kiocb_to_cmd (req , struct io_sr_msg );
265+ struct user_msghdr __user * umsg = sr -> umsg ;
265266 struct iovec * iov ;
266267 int ret , nr_segs ;
267268
@@ -273,16 +274,16 @@ static int io_msg_copy_hdr(struct io_kiocb *req, struct io_async_msghdr *iomsg,
273274 nr_segs = 1 ;
274275 }
275276
276- if (!user_access_begin (sr -> umsg , sizeof (* sr -> umsg )))
277+ if (!user_access_begin (umsg , sizeof (* umsg )))
277278 return - EFAULT ;
278279
279280 ret = - EFAULT ;
280- unsafe_get_user (msg -> msg_name , & sr -> umsg -> msg_name , ua_end );
281- unsafe_get_user (msg -> msg_namelen , & sr -> umsg -> msg_namelen , ua_end );
282- unsafe_get_user (msg -> msg_iov , & sr -> umsg -> msg_iov , ua_end );
283- unsafe_get_user (msg -> msg_iovlen , & sr -> umsg -> msg_iovlen , ua_end );
284- unsafe_get_user (msg -> msg_control , & sr -> umsg -> msg_control , ua_end );
285- unsafe_get_user (msg -> msg_controllen , & sr -> umsg -> msg_controllen , ua_end );
281+ unsafe_get_user (msg -> msg_name , & umsg -> msg_name , ua_end );
282+ unsafe_get_user (msg -> msg_namelen , & umsg -> msg_namelen , ua_end );
283+ unsafe_get_user (msg -> msg_iov , & umsg -> msg_iov , ua_end );
284+ unsafe_get_user (msg -> msg_iovlen , & umsg -> msg_iovlen , ua_end );
285+ unsafe_get_user (msg -> msg_control , & umsg -> msg_control , ua_end );
286+ unsafe_get_user (msg -> msg_controllen , & umsg -> msg_controllen , ua_end );
286287 msg -> msg_flags = 0 ;
287288
288289 if (req -> flags & REQ_F_BUFFER_SELECT ) {
0 commit comments