• Home
  • Raw
  • Download

Lines Matching refs:msg

650 static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg)  in sock_sendmsg_nosec()  argument
653 inet_sendmsg, sock, msg, in sock_sendmsg_nosec()
654 msg_data_left(msg)); in sock_sendmsg_nosec()
659 static int __sock_sendmsg(struct socket *sock, struct msghdr *msg) in __sock_sendmsg() argument
661 int err = security_socket_sendmsg(sock, msg, in __sock_sendmsg()
662 msg_data_left(msg)); in __sock_sendmsg()
664 return err ?: sock_sendmsg_nosec(sock, msg); in __sock_sendmsg()
675 int sock_sendmsg(struct socket *sock, struct msghdr *msg) in sock_sendmsg() argument
677 struct sockaddr_storage *save_addr = (struct sockaddr_storage *)msg->msg_name; in sock_sendmsg()
679 int save_len = msg->msg_namelen; in sock_sendmsg()
682 if (msg->msg_name) { in sock_sendmsg()
683 memcpy(&address, msg->msg_name, msg->msg_namelen); in sock_sendmsg()
684 msg->msg_name = &address; in sock_sendmsg()
687 ret = __sock_sendmsg(sock, msg); in sock_sendmsg()
688 msg->msg_name = save_addr; in sock_sendmsg()
689 msg->msg_namelen = save_len; in sock_sendmsg()
707 int kernel_sendmsg(struct socket *sock, struct msghdr *msg, in kernel_sendmsg() argument
710 iov_iter_kvec(&msg->msg_iter, WRITE, vec, num, size); in kernel_sendmsg()
711 return sock_sendmsg(sock, msg); in kernel_sendmsg()
728 int kernel_sendmsg_locked(struct sock *sk, struct msghdr *msg, in kernel_sendmsg_locked() argument
734 return sock_no_sendmsg_locked(sk, msg, size); in kernel_sendmsg_locked()
736 iov_iter_kvec(&msg->msg_iter, WRITE, vec, num, size); in kernel_sendmsg_locked()
738 return sock->ops->sendmsg_locked(sk, msg, msg_data_left(msg)); in kernel_sendmsg_locked()
765 static void put_ts_pktinfo(struct msghdr *msg, struct sk_buff *skb) in put_ts_pktinfo() argument
782 put_cmsg(msg, SOL_SOCKET, SCM_TIMESTAMPING_PKTINFO, in put_ts_pktinfo()
789 void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk, in __sock_recv_timestamp() argument
813 put_cmsg(msg, SOL_SOCKET, SO_TIMESTAMP_NEW, in __sock_recv_timestamp()
819 put_cmsg(msg, SOL_SOCKET, SO_TIMESTAMP_OLD, in __sock_recv_timestamp()
827 put_cmsg(msg, SOL_SOCKET, SO_TIMESTAMPNS_NEW, in __sock_recv_timestamp()
833 put_cmsg(msg, SOL_SOCKET, SO_TIMESTAMPNS_OLD, in __sock_recv_timestamp()
850 put_ts_pktinfo(msg, skb); in __sock_recv_timestamp()
854 put_cmsg_scm_timestamping64(msg, &tss); in __sock_recv_timestamp()
856 put_cmsg_scm_timestamping(msg, &tss); in __sock_recv_timestamp()
860 put_cmsg(msg, SOL_SOCKET, SCM_TIMESTAMPING_OPT_STATS, in __sock_recv_timestamp()
866 void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk, in __sock_recv_wifi_status() argument
878 put_cmsg(msg, SOL_SOCKET, SCM_WIFI_STATUS, sizeof(ack), &ack); in __sock_recv_wifi_status()
882 static inline void sock_recv_drops(struct msghdr *msg, struct sock *sk, in sock_recv_drops() argument
886 put_cmsg(msg, SOL_SOCKET, SO_RXQ_OVFL, in sock_recv_drops()
890 void __sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk, in __sock_recv_ts_and_drops() argument
893 sock_recv_timestamp(msg, sk, skb); in __sock_recv_ts_and_drops()
894 sock_recv_drops(msg, sk, skb); in __sock_recv_ts_and_drops()
902 static inline int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg, in sock_recvmsg_nosec() argument
906 inet_recvmsg, sock, msg, msg_data_left(msg), in sock_recvmsg_nosec()
919 int sock_recvmsg(struct socket *sock, struct msghdr *msg, int flags) in sock_recvmsg() argument
921 int err = security_socket_recvmsg(sock, msg, msg_data_left(msg), flags); in sock_recvmsg()
923 return err ?: sock_recvmsg_nosec(sock, msg, flags); in sock_recvmsg()
943 int kernel_recvmsg(struct socket *sock, struct msghdr *msg, in kernel_recvmsg() argument
946 msg->msg_control_is_user = false; in kernel_recvmsg()
947 iov_iter_kvec(&msg->msg_iter, READ, vec, num, size); in kernel_recvmsg()
948 return sock_recvmsg(sock, msg, flags); in kernel_recvmsg()
983 struct msghdr msg = {.msg_iter = *to, in sock_read_iter() local
988 msg.msg_flags = MSG_DONTWAIT; in sock_read_iter()
996 res = sock_recvmsg(sock, &msg, msg.msg_flags); in sock_read_iter()
997 *to = msg.msg_iter; in sock_read_iter()
1005 struct msghdr msg = {.msg_iter = *from, in sock_write_iter() local
1013 msg.msg_flags = MSG_DONTWAIT; in sock_write_iter()
1016 msg.msg_flags |= MSG_EOR; in sock_write_iter()
1018 res = __sock_sendmsg(sock, &msg); in sock_write_iter()
1019 *from = msg.msg_iter; in sock_write_iter()
1981 struct msghdr msg; in __sys_sendto() local
1985 err = import_single_range(WRITE, buff, len, &iov, &msg.msg_iter); in __sys_sendto()
1992 msg.msg_name = NULL; in __sys_sendto()
1993 msg.msg_control = NULL; in __sys_sendto()
1994 msg.msg_controllen = 0; in __sys_sendto()
1995 msg.msg_namelen = 0; in __sys_sendto()
2000 msg.msg_name = (struct sockaddr *)&address; in __sys_sendto()
2001 msg.msg_namelen = addr_len; in __sys_sendto()
2005 msg.msg_flags = flags; in __sys_sendto()
2006 err = __sock_sendmsg(sock, &msg); in __sys_sendto()
2041 struct msghdr msg; in __sys_recvfrom() local
2046 err = import_single_range(READ, ubuf, size, &iov, &msg.msg_iter); in __sys_recvfrom()
2053 msg.msg_control = NULL; in __sys_recvfrom()
2054 msg.msg_controllen = 0; in __sys_recvfrom()
2056 msg.msg_name = addr ? (struct sockaddr *)&address : NULL; in __sys_recvfrom()
2058 msg.msg_namelen = 0; in __sys_recvfrom()
2059 msg.msg_iocb = NULL; in __sys_recvfrom()
2060 msg.msg_flags = 0; in __sys_recvfrom()
2063 err = sock_recvmsg(sock, &msg, flags); in __sys_recvfrom()
2067 msg.msg_namelen, addr, addr_len); in __sys_recvfrom()
2241 #define COMPAT_MSG(msg, member) ((MSG_CMSG_COMPAT & flags) ? &msg##_compat->member : &msg->member) argument
2242 #define COMPAT_NAMELEN(msg) COMPAT_MSG(msg, msg_namelen) argument
2243 #define COMPAT_FLAGS(msg) COMPAT_MSG(msg, msg_flags) argument
2255 struct user_msghdr msg; in __copy_msghdr_from_user() local
2258 if (copy_from_user(&msg, umsg, sizeof(*umsg))) in __copy_msghdr_from_user()
2262 kmsg->msg_control_user = msg.msg_control; in __copy_msghdr_from_user()
2263 kmsg->msg_controllen = msg.msg_controllen; in __copy_msghdr_from_user()
2264 kmsg->msg_flags = msg.msg_flags; in __copy_msghdr_from_user()
2266 kmsg->msg_namelen = msg.msg_namelen; in __copy_msghdr_from_user()
2267 if (!msg.msg_name) in __copy_msghdr_from_user()
2277 *save_addr = msg.msg_name; in __copy_msghdr_from_user()
2279 if (msg.msg_name && kmsg->msg_namelen) { in __copy_msghdr_from_user()
2281 err = move_addr_to_kernel(msg.msg_name, in __copy_msghdr_from_user()
2292 if (msg.msg_iovlen > UIO_MAXIOV) in __copy_msghdr_from_user()
2296 *uiov = msg.msg_iov; in __copy_msghdr_from_user()
2297 *nsegs = msg.msg_iovlen; in __copy_msghdr_from_user()
2306 struct user_msghdr msg; in copy_msghdr_from_user() local
2309 err = __copy_msghdr_from_user(kmsg, umsg, save_addr, &msg.msg_iov, in copy_msghdr_from_user()
2310 &msg.msg_iovlen); in copy_msghdr_from_user()
2315 msg.msg_iov, msg.msg_iovlen, in copy_msghdr_from_user()
2395 int sendmsg_copy_msghdr(struct msghdr *msg, in sendmsg_copy_msghdr() argument
2405 err = get_compat_msghdr(msg, msg_compat, NULL, iov); in sendmsg_copy_msghdr()
2407 err = copy_msghdr_from_user(msg, umsg, NULL, iov); in sendmsg_copy_msghdr()
2415 static int ___sys_sendmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_sendmsg() argument
2426 err = sendmsg_copy_msghdr(msg_sys, msg, flags, &iov); in ___sys_sendmsg()
2439 long __sys_sendmsg_sock(struct socket *sock, struct msghdr *msg, in __sys_sendmsg_sock() argument
2442 return ____sys_sendmsg(sock, msg, flags, NULL, 0); in __sys_sendmsg_sock()
2445 long __sys_sendmsg(int fd, struct user_msghdr __user *msg, unsigned int flags, in __sys_sendmsg() argument
2459 err = ___sys_sendmsg(sock, msg, &msg_sys, flags, NULL, 0); in __sys_sendmsg()
2466 SYSCALL_DEFINE3(sendmsg, int, fd, struct user_msghdr __user *, msg, unsigned int, flags) in SYSCALL_DEFINE3() argument
2468 return __sys_sendmsg(fd, msg, flags, true); in SYSCALL_DEFINE3()
2548 int recvmsg_copy_msghdr(struct msghdr *msg, in recvmsg_copy_msghdr() argument
2559 err = get_compat_msghdr(msg, msg_compat, uaddr, iov); in recvmsg_copy_msghdr()
2561 err = copy_msghdr_from_user(msg, umsg, uaddr, iov); in recvmsg_copy_msghdr()
2570 struct user_msghdr __user *msg, in ____sys_recvmsg() argument
2575 (struct compat_msghdr __user *) msg; in ____sys_recvmsg()
2576 int __user *uaddr_len = COMPAT_NAMELEN(msg); in ____sys_recvmsg()
2609 COMPAT_FLAGS(msg)); in ____sys_recvmsg()
2617 &msg->msg_controllen); in ____sys_recvmsg()
2625 static int ___sys_recvmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_recvmsg() argument
2633 err = recvmsg_copy_msghdr(msg_sys, msg, flags, &uaddr, &iov); in ___sys_recvmsg()
2637 err = ____sys_recvmsg(sock, msg_sys, msg, uaddr, flags, nosec); in ___sys_recvmsg()
2646 long __sys_recvmsg_sock(struct socket *sock, struct msghdr *msg, in __sys_recvmsg_sock() argument
2650 return ____sys_recvmsg(sock, msg, umsg, uaddr, flags, 0); in __sys_recvmsg_sock()
2653 long __sys_recvmsg(int fd, struct user_msghdr __user *msg, unsigned int flags, in __sys_recvmsg() argument
2667 err = ___sys_recvmsg(sock, msg, &msg_sys, flags, 0); in __sys_recvmsg()
2674 SYSCALL_DEFINE3(recvmsg, int, fd, struct user_msghdr __user *, msg, in SYSCALL_DEFINE3() argument
2677 return __sys_recvmsg(fd, msg, flags, true); in SYSCALL_DEFINE3()