Lines Matching refs:msg
77 size_t msghdr_non_empty_iov_count(const struct msghdr *msg) in msghdr_non_empty_iov_count() argument
81 for (size_t i = 0; i < msg->msg_iovlen; i++) { in msghdr_non_empty_iov_count()
82 if (msg->msg_iov[i].iov_len) { in msghdr_non_empty_iov_count()
372 ssize_t z_impl_zsock_sendmsg(int sock, const struct msghdr *msg, int flags) in z_impl_zsock_sendmsg() argument
376 SYS_PORT_TRACING_OBJ_FUNC_ENTER(socket, sendmsg, sock, msg, flags); in z_impl_zsock_sendmsg()
378 bytes_sent = VTABLE_CALL(sendmsg, sock, msg, flags); in z_impl_zsock_sendmsg()
390 const struct msghdr *msg, in z_vrfy_zsock_sendmsg() argument
397 K_OOPS(k_usermode_from_copy(&msg_copy, (void *)msg, sizeof(msg_copy))); in z_vrfy_zsock_sendmsg()
402 msg_copy.msg_iov = k_usermode_alloc_from_copy(msg->msg_iov, in z_vrfy_zsock_sendmsg()
403 msg->msg_iovlen * sizeof(struct iovec)); in z_vrfy_zsock_sendmsg()
409 for (i = 0; i < msg->msg_iovlen; i++) { in z_vrfy_zsock_sendmsg()
411 k_usermode_alloc_from_copy(msg->msg_iov[i].iov_base, in z_vrfy_zsock_sendmsg()
412 msg->msg_iov[i].iov_len); in z_vrfy_zsock_sendmsg()
418 msg_copy.msg_iov[i].iov_len = msg->msg_iov[i].iov_len; in z_vrfy_zsock_sendmsg()
421 if (msg->msg_namelen > 0) { in z_vrfy_zsock_sendmsg()
422 msg_copy.msg_name = k_usermode_alloc_from_copy(msg->msg_name, in z_vrfy_zsock_sendmsg()
423 msg->msg_namelen); in z_vrfy_zsock_sendmsg()
430 if (msg->msg_controllen > 0) { in z_vrfy_zsock_sendmsg()
431 msg_copy.msg_control = k_usermode_alloc_from_copy(msg->msg_control, in z_vrfy_zsock_sendmsg()
432 msg->msg_controllen); in z_vrfy_zsock_sendmsg()
527 ssize_t z_impl_zsock_recvmsg(int sock, struct msghdr *msg, int flags) in z_impl_zsock_recvmsg() argument
531 SYS_PORT_TRACING_OBJ_FUNC_ENTER(socket, recvmsg, sock, msg, flags); in z_impl_zsock_recvmsg()
533 bytes_received = VTABLE_CALL(recvmsg, sock, msg, flags); in z_impl_zsock_recvmsg()
535 SYS_PORT_TRACING_OBJ_FUNC_EXIT(socket, recvmsg, sock, msg, in z_impl_zsock_recvmsg()
544 ssize_t z_vrfy_zsock_recvmsg(int sock, struct msghdr *msg, int flags) in z_vrfy_zsock_recvmsg() argument
551 if (msg == NULL) { in z_vrfy_zsock_recvmsg()
556 if (msg->msg_iov == NULL) { in z_vrfy_zsock_recvmsg()
561 K_OOPS(k_usermode_from_copy(&msg_copy, (void *)msg, sizeof(msg_copy))); in z_vrfy_zsock_recvmsg()
563 k_usermode_from_copy(&iovlen, &msg->msg_iovlen, sizeof(iovlen)); in z_vrfy_zsock_recvmsg()
568 msg_copy.msg_iov = k_usermode_alloc_from_copy(msg->msg_iov, in z_vrfy_zsock_recvmsg()
569 msg->msg_iovlen * sizeof(struct iovec)); in z_vrfy_zsock_recvmsg()
579 memset(msg_copy.msg_iov, 0, msg->msg_iovlen * sizeof(struct iovec)); in z_vrfy_zsock_recvmsg()
589 k_usermode_alloc_from_copy(msg->msg_iov[i].iov_base, in z_vrfy_zsock_recvmsg()
590 msg->msg_iov[i].iov_len); in z_vrfy_zsock_recvmsg()
596 msg_copy.msg_iov[i].iov_len = msg->msg_iov[i].iov_len; in z_vrfy_zsock_recvmsg()
599 if (msg->msg_namelen > 0) { in z_vrfy_zsock_recvmsg()
600 if (msg->msg_name == NULL) { in z_vrfy_zsock_recvmsg()
605 msg_copy.msg_name = k_usermode_alloc_from_copy(msg->msg_name, in z_vrfy_zsock_recvmsg()
606 msg->msg_namelen); in z_vrfy_zsock_recvmsg()
613 if (msg->msg_controllen > 0) { in z_vrfy_zsock_recvmsg()
614 if (msg->msg_control == NULL) { in z_vrfy_zsock_recvmsg()
620 k_usermode_alloc_from_copy(msg->msg_control, in z_vrfy_zsock_recvmsg()
621 msg->msg_controllen); in z_vrfy_zsock_recvmsg()
634 if (msg->msg_namelen > 0 && msg->msg_name != NULL) { in z_vrfy_zsock_recvmsg()
635 K_OOPS(k_usermode_to_copy(msg->msg_name, in z_vrfy_zsock_recvmsg()
640 if (msg->msg_controllen > 0 && in z_vrfy_zsock_recvmsg()
641 msg->msg_control != NULL) { in z_vrfy_zsock_recvmsg()
642 K_OOPS(k_usermode_to_copy(msg->msg_control, in z_vrfy_zsock_recvmsg()
646 msg->msg_controllen = msg_copy.msg_controllen; in z_vrfy_zsock_recvmsg()
648 msg->msg_controllen = 0U; in z_vrfy_zsock_recvmsg()
651 k_usermode_to_copy(&msg->msg_iovlen, in z_vrfy_zsock_recvmsg()
653 sizeof(msg->msg_iovlen)); in z_vrfy_zsock_recvmsg()
660 K_OOPS(k_usermode_to_copy(msg->msg_iov[i].iov_base, in z_vrfy_zsock_recvmsg()
663 K_OOPS(k_usermode_to_copy(&msg->msg_iov[i].iov_len, in z_vrfy_zsock_recvmsg()
665 sizeof(msg->msg_iov[i].iov_len))); in z_vrfy_zsock_recvmsg()
668 msg->msg_iov[i].iov_len = 0; in z_vrfy_zsock_recvmsg()
672 k_usermode_to_copy(&msg->msg_flags, in z_vrfy_zsock_recvmsg()
674 sizeof(msg->msg_flags)); in z_vrfy_zsock_recvmsg()