summaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/net/socket.c b/net/socket.c
index 16449d6daeca..293d56836f01 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2222,9 +2222,10 @@ static int copy_msghdr_from_user(struct msghdr *kmsg,
2222 2222
2223 kmsg->msg_iocb = NULL; 2223 kmsg->msg_iocb = NULL;
2224 2224
2225 return import_iovec(save_addr ? READ : WRITE, 2225 err = import_iovec(save_addr ? READ : WRITE,
2226 msg.msg_iov, msg.msg_iovlen, 2226 msg.msg_iov, msg.msg_iovlen,
2227 UIO_FASTIOV, iov, &kmsg->msg_iter); 2227 UIO_FASTIOV, iov, &kmsg->msg_iter);
2228 return err < 0 ? err : 0;
2228} 2229}
2229 2230
2230static int ___sys_sendmsg(struct socket *sock, struct user_msghdr __user *msg, 2231static int ___sys_sendmsg(struct socket *sock, struct user_msghdr __user *msg,
@@ -2326,6 +2327,13 @@ out_freeiov:
2326/* 2327/*
2327 * BSD sendmsg interface 2328 * BSD sendmsg interface
2328 */ 2329 */
2330long __sys_sendmsg_sock(struct socket *sock, struct user_msghdr __user *msg,
2331 unsigned int flags)
2332{
2333 struct msghdr msg_sys;
2334
2335 return ___sys_sendmsg(sock, msg, &msg_sys, flags, NULL, 0);
2336}
2329 2337
2330long __sys_sendmsg(int fd, struct user_msghdr __user *msg, unsigned int flags, 2338long __sys_sendmsg(int fd, struct user_msghdr __user *msg, unsigned int flags,
2331 bool forbid_cmsg_compat) 2339 bool forbid_cmsg_compat)
@@ -2500,6 +2508,14 @@ out_freeiov:
2500 * BSD recvmsg interface 2508 * BSD recvmsg interface
2501 */ 2509 */
2502 2510
2511long __sys_recvmsg_sock(struct socket *sock, struct user_msghdr __user *msg,
2512 unsigned int flags)
2513{
2514 struct msghdr msg_sys;
2515
2516 return ___sys_recvmsg(sock, msg, &msg_sys, flags, 0);
2517}
2518
2503long __sys_recvmsg(int fd, struct user_msghdr __user *msg, unsigned int flags, 2519long __sys_recvmsg(int fd, struct user_msghdr __user *msg, unsigned int flags,
2504 bool forbid_cmsg_compat) 2520 bool forbid_cmsg_compat)
2505{ 2521{