Lines Matching defs:msg
41 struct compat_msghdr msg;
44 if (copy_from_user(&msg, umsg, sizeof(*umsg)))
47 kmsg->msg_flags = msg.msg_flags;
48 kmsg->msg_namelen = msg.msg_namelen;
50 if (!msg.msg_name)
60 kmsg->msg_control_user = compat_ptr(msg.msg_control);
61 kmsg->msg_controllen = msg.msg_controllen;
64 *save_addr = compat_ptr(msg.msg_name);
66 if (msg.msg_name && kmsg->msg_namelen) {
68 err = move_addr_to_kernel(compat_ptr(msg.msg_name),
79 if (msg.msg_iovlen > UIO_MAXIOV)
83 *ptr = msg.msg_iov;
84 *len = msg.msg_iovlen;
116 #define CMSG_COMPAT_FIRSTHDR(msg) \
117 (((msg)->msg_controllen) >= sizeof(struct compat_cmsghdr) ? \
118 (struct compat_cmsghdr __user *)((msg)->msg_control) : \
127 static inline struct compat_cmsghdr __user *cmsg_compat_nxthdr(struct msghdr *msg,
131 if ((unsigned long)(ptr + 1 - (char __user *)msg->msg_control) >
132 msg->msg_controllen)
284 static int scm_max_fds_compat(struct msghdr *msg)
286 if (msg->msg_controllen <= sizeof(struct compat_cmsghdr))
288 return (msg->msg_controllen - sizeof(struct compat_cmsghdr)) / sizeof(int);
291 void scm_detach_fds_compat(struct msghdr *msg, struct scm_cookie *scm)
294 (struct compat_cmsghdr __user *)msg->msg_control;
295 unsigned int o_flags = (msg->msg_flags & MSG_CMSG_CLOEXEC) ? O_CLOEXEC : 0;
296 int fdmax = min_t(int, scm_max_fds_compat(msg), scm->fp->count);
316 if (msg->msg_controllen < cmlen)
317 cmlen = msg->msg_controllen;
318 msg->msg_control += cmlen;
319 msg->msg_controllen -= cmlen;
324 msg->msg_flags |= MSG_CTRUNC;
344 struct compat_msghdr __user *msg,
347 return __sys_sendmsg(fd, (struct user_msghdr __user *)msg,
351 COMPAT_SYSCALL_DEFINE3(sendmsg, int, fd, struct compat_msghdr __user *, msg,
354 return __compat_sys_sendmsg(fd, msg, flags);
372 struct compat_msghdr __user *msg,
375 return __sys_recvmsg(fd, (struct user_msghdr __user *)msg,
379 COMPAT_SYSCALL_DEFINE3(recvmsg, int, fd, struct compat_msghdr __user *, msg,
382 return __compat_sys_recvmsg(fd, msg, flags);