Lines Matching refs:msg_copy
393 struct msghdr msg_copy; in z_vrfy_zsock_sendmsg() local
397 K_OOPS(k_usermode_from_copy(&msg_copy, (void *)msg, sizeof(msg_copy))); in z_vrfy_zsock_sendmsg()
399 msg_copy.msg_name = NULL; in z_vrfy_zsock_sendmsg()
400 msg_copy.msg_control = NULL; in z_vrfy_zsock_sendmsg()
402 msg_copy.msg_iov = k_usermode_alloc_from_copy(msg->msg_iov, in z_vrfy_zsock_sendmsg()
404 if (!msg_copy.msg_iov) { in z_vrfy_zsock_sendmsg()
410 msg_copy.msg_iov[i].iov_base = in z_vrfy_zsock_sendmsg()
413 if (!msg_copy.msg_iov[i].iov_base) { in z_vrfy_zsock_sendmsg()
418 msg_copy.msg_iov[i].iov_len = msg->msg_iov[i].iov_len; in z_vrfy_zsock_sendmsg()
422 msg_copy.msg_name = k_usermode_alloc_from_copy(msg->msg_name, in z_vrfy_zsock_sendmsg()
424 if (!msg_copy.msg_name) { in z_vrfy_zsock_sendmsg()
431 msg_copy.msg_control = k_usermode_alloc_from_copy(msg->msg_control, in z_vrfy_zsock_sendmsg()
433 if (!msg_copy.msg_control) { in z_vrfy_zsock_sendmsg()
439 ret = z_impl_zsock_sendmsg(sock, (const struct msghdr *)&msg_copy, in z_vrfy_zsock_sendmsg()
442 k_free(msg_copy.msg_name); in z_vrfy_zsock_sendmsg()
443 k_free(msg_copy.msg_control); in z_vrfy_zsock_sendmsg()
445 for (i = 0; i < msg_copy.msg_iovlen; i++) { in z_vrfy_zsock_sendmsg()
446 k_free(msg_copy.msg_iov[i].iov_base); in z_vrfy_zsock_sendmsg()
449 k_free(msg_copy.msg_iov); in z_vrfy_zsock_sendmsg()
454 if (msg_copy.msg_name) { in z_vrfy_zsock_sendmsg()
455 k_free(msg_copy.msg_name); in z_vrfy_zsock_sendmsg()
458 if (msg_copy.msg_control) { in z_vrfy_zsock_sendmsg()
459 k_free(msg_copy.msg_control); in z_vrfy_zsock_sendmsg()
462 if (msg_copy.msg_iov) { in z_vrfy_zsock_sendmsg()
463 for (i = 0; i < msg_copy.msg_iovlen; i++) { in z_vrfy_zsock_sendmsg()
464 if (msg_copy.msg_iov[i].iov_base) { in z_vrfy_zsock_sendmsg()
465 k_free(msg_copy.msg_iov[i].iov_base); in z_vrfy_zsock_sendmsg()
469 k_free(msg_copy.msg_iov); in z_vrfy_zsock_sendmsg()
546 struct msghdr msg_copy; in z_vrfy_zsock_recvmsg() local
561 K_OOPS(k_usermode_from_copy(&msg_copy, (void *)msg, sizeof(msg_copy))); in z_vrfy_zsock_recvmsg()
565 msg_copy.msg_name = NULL; in z_vrfy_zsock_recvmsg()
566 msg_copy.msg_control = NULL; in z_vrfy_zsock_recvmsg()
568 msg_copy.msg_iov = k_usermode_alloc_from_copy(msg->msg_iov, in z_vrfy_zsock_recvmsg()
570 if (!msg_copy.msg_iov) { in z_vrfy_zsock_recvmsg()
579 memset(msg_copy.msg_iov, 0, msg->msg_iovlen * sizeof(struct iovec)); in z_vrfy_zsock_recvmsg()
588 msg_copy.msg_iov[i].iov_base = in z_vrfy_zsock_recvmsg()
591 if (!msg_copy.msg_iov[i].iov_base) { in z_vrfy_zsock_recvmsg()
596 msg_copy.msg_iov[i].iov_len = msg->msg_iov[i].iov_len; in z_vrfy_zsock_recvmsg()
605 msg_copy.msg_name = k_usermode_alloc_from_copy(msg->msg_name, in z_vrfy_zsock_recvmsg()
607 if (msg_copy.msg_name == NULL) { in z_vrfy_zsock_recvmsg()
619 msg_copy.msg_control = in z_vrfy_zsock_recvmsg()
622 if (msg_copy.msg_control == NULL) { in z_vrfy_zsock_recvmsg()
628 ret = z_impl_zsock_recvmsg(sock, &msg_copy, flags); in z_vrfy_zsock_recvmsg()
636 msg_copy.msg_name, in z_vrfy_zsock_recvmsg()
637 msg_copy.msg_namelen)); in z_vrfy_zsock_recvmsg()
643 msg_copy.msg_control, in z_vrfy_zsock_recvmsg()
644 msg_copy.msg_controllen)); in z_vrfy_zsock_recvmsg()
646 msg->msg_controllen = msg_copy.msg_controllen; in z_vrfy_zsock_recvmsg()
652 &msg_copy.msg_iovlen, in z_vrfy_zsock_recvmsg()
656 NET_ASSERT(msg_copy.msg_iovlen <= iovlen); in z_vrfy_zsock_recvmsg()
659 if (i < msg_copy.msg_iovlen) { in z_vrfy_zsock_recvmsg()
661 msg_copy.msg_iov[i].iov_base, in z_vrfy_zsock_recvmsg()
662 msg_copy.msg_iov[i].iov_len)); in z_vrfy_zsock_recvmsg()
664 &msg_copy.msg_iov[i].iov_len, in z_vrfy_zsock_recvmsg()
673 &msg_copy.msg_flags, in z_vrfy_zsock_recvmsg()
677 k_free(msg_copy.msg_name); in z_vrfy_zsock_recvmsg()
678 k_free(msg_copy.msg_control); in z_vrfy_zsock_recvmsg()
682 k_free(msg_copy.msg_iov[i].iov_base); in z_vrfy_zsock_recvmsg()
685 k_free(msg_copy.msg_iov); in z_vrfy_zsock_recvmsg()
690 if (msg_copy.msg_name) { in z_vrfy_zsock_recvmsg()
691 k_free(msg_copy.msg_name); in z_vrfy_zsock_recvmsg()
694 if (msg_copy.msg_control) { in z_vrfy_zsock_recvmsg()
695 k_free(msg_copy.msg_control); in z_vrfy_zsock_recvmsg()
698 if (msg_copy.msg_iov) { in z_vrfy_zsock_recvmsg()
699 for (i = 0; i < msg_copy.msg_iovlen; i++) { in z_vrfy_zsock_recvmsg()
700 if (msg_copy.msg_iov[i].iov_base) { in z_vrfy_zsock_recvmsg()
701 k_free(msg_copy.msg_iov[i].iov_base); in z_vrfy_zsock_recvmsg()
705 k_free(msg_copy.msg_iov); in z_vrfy_zsock_recvmsg()