diff options
Diffstat (limited to 'net')
59 files changed, 249 insertions, 377 deletions
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c index 0d0766ea5ab1..3b7ad43c7dad 100644 --- a/net/appletalk/ddp.c +++ b/net/appletalk/ddp.c | |||
@@ -1559,8 +1559,7 @@ freeit: | |||
1559 | return 0; | 1559 | return 0; |
1560 | } | 1560 | } |
1561 | 1561 | ||
1562 | static int atalk_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 1562 | static int atalk_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
1563 | size_t len) | ||
1564 | { | 1563 | { |
1565 | struct sock *sk = sock->sk; | 1564 | struct sock *sk = sock->sk; |
1566 | struct atalk_sock *at = at_sk(sk); | 1565 | struct atalk_sock *at = at_sk(sk); |
@@ -1728,8 +1727,8 @@ out: | |||
1728 | return err ? : len; | 1727 | return err ? : len; |
1729 | } | 1728 | } |
1730 | 1729 | ||
1731 | static int atalk_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 1730 | static int atalk_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1732 | size_t size, int flags) | 1731 | int flags) |
1733 | { | 1732 | { |
1734 | struct sock *sk = sock->sk; | 1733 | struct sock *sk = sock->sk; |
1735 | struct ddpehdr *ddp; | 1734 | struct ddpehdr *ddp; |
diff --git a/net/atm/common.c b/net/atm/common.c index b84057e41bd6..ed0466637e13 100644 --- a/net/atm/common.c +++ b/net/atm/common.c | |||
@@ -523,8 +523,8 @@ int vcc_connect(struct socket *sock, int itf, short vpi, int vci) | |||
523 | return 0; | 523 | return 0; |
524 | } | 524 | } |
525 | 525 | ||
526 | int vcc_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 526 | int vcc_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
527 | size_t size, int flags) | 527 | int flags) |
528 | { | 528 | { |
529 | struct sock *sk = sock->sk; | 529 | struct sock *sk = sock->sk; |
530 | struct atm_vcc *vcc; | 530 | struct atm_vcc *vcc; |
@@ -569,8 +569,7 @@ int vcc_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
569 | return copied; | 569 | return copied; |
570 | } | 570 | } |
571 | 571 | ||
572 | int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | 572 | int vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t size) |
573 | size_t size) | ||
574 | { | 573 | { |
575 | struct sock *sk = sock->sk; | 574 | struct sock *sk = sock->sk; |
576 | DEFINE_WAIT(wait); | 575 | DEFINE_WAIT(wait); |
diff --git a/net/atm/common.h b/net/atm/common.h index cc3c2dae4d79..4d6f5b2068ac 100644 --- a/net/atm/common.h +++ b/net/atm/common.h | |||
@@ -13,10 +13,9 @@ | |||
13 | int vcc_create(struct net *net, struct socket *sock, int protocol, int family); | 13 | int vcc_create(struct net *net, struct socket *sock, int protocol, int family); |
14 | int vcc_release(struct socket *sock); | 14 | int vcc_release(struct socket *sock); |
15 | int vcc_connect(struct socket *sock, int itf, short vpi, int vci); | 15 | int vcc_connect(struct socket *sock, int itf, short vpi, int vci); |
16 | int vcc_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 16 | int vcc_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
17 | size_t size, int flags); | 17 | int flags); |
18 | int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | 18 | int vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len); |
19 | size_t total_len); | ||
20 | unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait); | 19 | unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait); |
21 | int vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); | 20 | int vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); |
22 | int vcc_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); | 21 | int vcc_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); |
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index ca049a7c9287..330c1f4a5a0b 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c | |||
@@ -1432,8 +1432,7 @@ out: | |||
1432 | return err; | 1432 | return err; |
1433 | } | 1433 | } |
1434 | 1434 | ||
1435 | static int ax25_sendmsg(struct kiocb *iocb, struct socket *sock, | 1435 | static int ax25_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
1436 | struct msghdr *msg, size_t len) | ||
1437 | { | 1436 | { |
1438 | DECLARE_SOCKADDR(struct sockaddr_ax25 *, usax, msg->msg_name); | 1437 | DECLARE_SOCKADDR(struct sockaddr_ax25 *, usax, msg->msg_name); |
1439 | struct sock *sk = sock->sk; | 1438 | struct sock *sk = sock->sk; |
@@ -1599,8 +1598,8 @@ out: | |||
1599 | return err; | 1598 | return err; |
1600 | } | 1599 | } |
1601 | 1600 | ||
1602 | static int ax25_recvmsg(struct kiocb *iocb, struct socket *sock, | 1601 | static int ax25_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1603 | struct msghdr *msg, size_t size, int flags) | 1602 | int flags) |
1604 | { | 1603 | { |
1605 | struct sock *sk = sock->sk; | 1604 | struct sock *sk = sock->sk; |
1606 | struct sk_buff *skb; | 1605 | struct sk_buff *skb; |
diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c index 4b904c97a068..20a4698e2255 100644 --- a/net/bluetooth/af_bluetooth.c +++ b/net/bluetooth/af_bluetooth.c | |||
@@ -210,8 +210,8 @@ struct sock *bt_accept_dequeue(struct sock *parent, struct socket *newsock) | |||
210 | } | 210 | } |
211 | EXPORT_SYMBOL(bt_accept_dequeue); | 211 | EXPORT_SYMBOL(bt_accept_dequeue); |
212 | 212 | ||
213 | int bt_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 213 | int bt_sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
214 | struct msghdr *msg, size_t len, int flags) | 214 | int flags) |
215 | { | 215 | { |
216 | int noblock = flags & MSG_DONTWAIT; | 216 | int noblock = flags & MSG_DONTWAIT; |
217 | struct sock *sk = sock->sk; | 217 | struct sock *sk = sock->sk; |
@@ -283,8 +283,8 @@ static long bt_sock_data_wait(struct sock *sk, long timeo) | |||
283 | return timeo; | 283 | return timeo; |
284 | } | 284 | } |
285 | 285 | ||
286 | int bt_sock_stream_recvmsg(struct kiocb *iocb, struct socket *sock, | 286 | int bt_sock_stream_recvmsg(struct socket *sock, struct msghdr *msg, |
287 | struct msghdr *msg, size_t size, int flags) | 287 | size_t size, int flags) |
288 | { | 288 | { |
289 | struct sock *sk = sock->sk; | 289 | struct sock *sk = sock->sk; |
290 | int err = 0; | 290 | int err = 0; |
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c index 37198fb99ffe..aa8be4cb19a1 100644 --- a/net/bluetooth/hci_sock.c +++ b/net/bluetooth/hci_sock.c | |||
@@ -826,8 +826,8 @@ static void hci_sock_cmsg(struct sock *sk, struct msghdr *msg, | |||
826 | } | 826 | } |
827 | } | 827 | } |
828 | 828 | ||
829 | static int hci_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 829 | static int hci_sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
830 | struct msghdr *msg, size_t len, int flags) | 830 | int flags) |
831 | { | 831 | { |
832 | int noblock = flags & MSG_DONTWAIT; | 832 | int noblock = flags & MSG_DONTWAIT; |
833 | struct sock *sk = sock->sk; | 833 | struct sock *sk = sock->sk; |
@@ -871,8 +871,8 @@ static int hci_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
871 | return err ? : copied; | 871 | return err ? : copied; |
872 | } | 872 | } |
873 | 873 | ||
874 | static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 874 | static int hci_sock_sendmsg(struct socket *sock, struct msghdr *msg, |
875 | struct msghdr *msg, size_t len) | 875 | size_t len) |
876 | { | 876 | { |
877 | struct sock *sk = sock->sk; | 877 | struct sock *sk = sock->sk; |
878 | struct hci_dev *hdev; | 878 | struct hci_dev *hdev; |
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index 60694f0f4c73..9070720eedc8 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/net/bluetooth/l2cap_sock.c | |||
@@ -944,8 +944,8 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname, | |||
944 | return err; | 944 | return err; |
945 | } | 945 | } |
946 | 946 | ||
947 | static int l2cap_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 947 | static int l2cap_sock_sendmsg(struct socket *sock, struct msghdr *msg, |
948 | struct msghdr *msg, size_t len) | 948 | size_t len) |
949 | { | 949 | { |
950 | struct sock *sk = sock->sk; | 950 | struct sock *sk = sock->sk; |
951 | struct l2cap_chan *chan = l2cap_pi(sk)->chan; | 951 | struct l2cap_chan *chan = l2cap_pi(sk)->chan; |
@@ -976,8 +976,8 @@ static int l2cap_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
976 | return err; | 976 | return err; |
977 | } | 977 | } |
978 | 978 | ||
979 | static int l2cap_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 979 | static int l2cap_sock_recvmsg(struct socket *sock, struct msghdr *msg, |
980 | struct msghdr *msg, size_t len, int flags) | 980 | size_t len, int flags) |
981 | { | 981 | { |
982 | struct sock *sk = sock->sk; | 982 | struct sock *sk = sock->sk; |
983 | struct l2cap_pinfo *pi = l2cap_pi(sk); | 983 | struct l2cap_pinfo *pi = l2cap_pi(sk); |
@@ -1004,9 +1004,9 @@ static int l2cap_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
1004 | release_sock(sk); | 1004 | release_sock(sk); |
1005 | 1005 | ||
1006 | if (sock->type == SOCK_STREAM) | 1006 | if (sock->type == SOCK_STREAM) |
1007 | err = bt_sock_stream_recvmsg(iocb, sock, msg, len, flags); | 1007 | err = bt_sock_stream_recvmsg(sock, msg, len, flags); |
1008 | else | 1008 | else |
1009 | err = bt_sock_recvmsg(iocb, sock, msg, len, flags); | 1009 | err = bt_sock_recvmsg(sock, msg, len, flags); |
1010 | 1010 | ||
1011 | if (pi->chan->mode != L2CAP_MODE_ERTM) | 1011 | if (pi->chan->mode != L2CAP_MODE_ERTM) |
1012 | return err; | 1012 | return err; |
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c index 3c6d2c8ac1a4..825e8fb5114b 100644 --- a/net/bluetooth/rfcomm/sock.c +++ b/net/bluetooth/rfcomm/sock.c | |||
@@ -549,8 +549,8 @@ static int rfcomm_sock_getname(struct socket *sock, struct sockaddr *addr, int * | |||
549 | return 0; | 549 | return 0; |
550 | } | 550 | } |
551 | 551 | ||
552 | static int rfcomm_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 552 | static int rfcomm_sock_sendmsg(struct socket *sock, struct msghdr *msg, |
553 | struct msghdr *msg, size_t len) | 553 | size_t len) |
554 | { | 554 | { |
555 | struct sock *sk = sock->sk; | 555 | struct sock *sk = sock->sk; |
556 | struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc; | 556 | struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc; |
@@ -615,8 +615,8 @@ done: | |||
615 | return sent; | 615 | return sent; |
616 | } | 616 | } |
617 | 617 | ||
618 | static int rfcomm_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 618 | static int rfcomm_sock_recvmsg(struct socket *sock, struct msghdr *msg, |
619 | struct msghdr *msg, size_t size, int flags) | 619 | size_t size, int flags) |
620 | { | 620 | { |
621 | struct sock *sk = sock->sk; | 621 | struct sock *sk = sock->sk; |
622 | struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc; | 622 | struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc; |
@@ -627,7 +627,7 @@ static int rfcomm_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
627 | return 0; | 627 | return 0; |
628 | } | 628 | } |
629 | 629 | ||
630 | len = bt_sock_stream_recvmsg(iocb, sock, msg, size, flags); | 630 | len = bt_sock_stream_recvmsg(sock, msg, size, flags); |
631 | 631 | ||
632 | lock_sock(sk); | 632 | lock_sock(sk); |
633 | if (!(flags & MSG_PEEK) && len > 0) | 633 | if (!(flags & MSG_PEEK) && len > 0) |
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c index 76321b546e84..2bb7ef46bb99 100644 --- a/net/bluetooth/sco.c +++ b/net/bluetooth/sco.c | |||
@@ -688,8 +688,8 @@ static int sco_sock_getname(struct socket *sock, struct sockaddr *addr, int *len | |||
688 | return 0; | 688 | return 0; |
689 | } | 689 | } |
690 | 690 | ||
691 | static int sco_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 691 | static int sco_sock_sendmsg(struct socket *sock, struct msghdr *msg, |
692 | struct msghdr *msg, size_t len) | 692 | size_t len) |
693 | { | 693 | { |
694 | struct sock *sk = sock->sk; | 694 | struct sock *sk = sock->sk; |
695 | int err; | 695 | int err; |
@@ -758,8 +758,8 @@ static void sco_conn_defer_accept(struct hci_conn *conn, u16 setting) | |||
758 | } | 758 | } |
759 | } | 759 | } |
760 | 760 | ||
761 | static int sco_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 761 | static int sco_sock_recvmsg(struct socket *sock, struct msghdr *msg, |
762 | struct msghdr *msg, size_t len, int flags) | 762 | size_t len, int flags) |
763 | { | 763 | { |
764 | struct sock *sk = sock->sk; | 764 | struct sock *sk = sock->sk; |
765 | struct sco_pinfo *pi = sco_pi(sk); | 765 | struct sco_pinfo *pi = sco_pi(sk); |
@@ -777,7 +777,7 @@ static int sco_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
777 | 777 | ||
778 | release_sock(sk); | 778 | release_sock(sk); |
779 | 779 | ||
780 | return bt_sock_recvmsg(iocb, sock, msg, len, flags); | 780 | return bt_sock_recvmsg(sock, msg, len, flags); |
781 | } | 781 | } |
782 | 782 | ||
783 | static int sco_sock_setsockopt(struct socket *sock, int level, int optname, char __user *optval, unsigned int optlen) | 783 | static int sco_sock_setsockopt(struct socket *sock, int level, int optname, char __user *optval, unsigned int optlen) |
diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c index 769b185fefbd..b6bf51bb187d 100644 --- a/net/caif/caif_socket.c +++ b/net/caif/caif_socket.c | |||
@@ -271,8 +271,8 @@ static void caif_check_flow_release(struct sock *sk) | |||
271 | * Copied from unix_dgram_recvmsg, but removed credit checks, | 271 | * Copied from unix_dgram_recvmsg, but removed credit checks, |
272 | * changed locking, address handling and added MSG_TRUNC. | 272 | * changed locking, address handling and added MSG_TRUNC. |
273 | */ | 273 | */ |
274 | static int caif_seqpkt_recvmsg(struct kiocb *iocb, struct socket *sock, | 274 | static int caif_seqpkt_recvmsg(struct socket *sock, struct msghdr *m, |
275 | struct msghdr *m, size_t len, int flags) | 275 | size_t len, int flags) |
276 | 276 | ||
277 | { | 277 | { |
278 | struct sock *sk = sock->sk; | 278 | struct sock *sk = sock->sk; |
@@ -343,9 +343,8 @@ static long caif_stream_data_wait(struct sock *sk, long timeo) | |||
343 | * Copied from unix_stream_recvmsg, but removed credit checks, | 343 | * Copied from unix_stream_recvmsg, but removed credit checks, |
344 | * changed locking calls, changed address handling. | 344 | * changed locking calls, changed address handling. |
345 | */ | 345 | */ |
346 | static int caif_stream_recvmsg(struct kiocb *iocb, struct socket *sock, | 346 | static int caif_stream_recvmsg(struct socket *sock, struct msghdr *msg, |
347 | struct msghdr *msg, size_t size, | 347 | size_t size, int flags) |
348 | int flags) | ||
349 | { | 348 | { |
350 | struct sock *sk = sock->sk; | 349 | struct sock *sk = sock->sk; |
351 | int copied = 0; | 350 | int copied = 0; |
@@ -511,8 +510,8 @@ static int transmit_skb(struct sk_buff *skb, struct caifsock *cf_sk, | |||
511 | } | 510 | } |
512 | 511 | ||
513 | /* Copied from af_unix:unix_dgram_sendmsg, and adapted to CAIF */ | 512 | /* Copied from af_unix:unix_dgram_sendmsg, and adapted to CAIF */ |
514 | static int caif_seqpkt_sendmsg(struct kiocb *kiocb, struct socket *sock, | 513 | static int caif_seqpkt_sendmsg(struct socket *sock, struct msghdr *msg, |
515 | struct msghdr *msg, size_t len) | 514 | size_t len) |
516 | { | 515 | { |
517 | struct sock *sk = sock->sk; | 516 | struct sock *sk = sock->sk; |
518 | struct caifsock *cf_sk = container_of(sk, struct caifsock, sk); | 517 | struct caifsock *cf_sk = container_of(sk, struct caifsock, sk); |
@@ -586,8 +585,8 @@ err: | |||
586 | * Changed removed permission handling and added waiting for flow on | 585 | * Changed removed permission handling and added waiting for flow on |
587 | * and other minor adaptations. | 586 | * and other minor adaptations. |
588 | */ | 587 | */ |
589 | static int caif_stream_sendmsg(struct kiocb *kiocb, struct socket *sock, | 588 | static int caif_stream_sendmsg(struct socket *sock, struct msghdr *msg, |
590 | struct msghdr *msg, size_t len) | 589 | size_t len) |
591 | { | 590 | { |
592 | struct sock *sk = sock->sk; | 591 | struct sock *sk = sock->sk; |
593 | struct caifsock *cf_sk = container_of(sk, struct caifsock, sk); | 592 | struct caifsock *cf_sk = container_of(sk, struct caifsock, sk); |
diff --git a/net/can/bcm.c b/net/can/bcm.c index d559f922326d..b523453585be 100644 --- a/net/can/bcm.c +++ b/net/can/bcm.c | |||
@@ -1231,8 +1231,7 @@ static int bcm_tx_send(struct msghdr *msg, int ifindex, struct sock *sk) | |||
1231 | /* | 1231 | /* |
1232 | * bcm_sendmsg - process BCM commands (opcodes) from the userspace | 1232 | * bcm_sendmsg - process BCM commands (opcodes) from the userspace |
1233 | */ | 1233 | */ |
1234 | static int bcm_sendmsg(struct kiocb *iocb, struct socket *sock, | 1234 | static int bcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) |
1235 | struct msghdr *msg, size_t size) | ||
1236 | { | 1235 | { |
1237 | struct sock *sk = sock->sk; | 1236 | struct sock *sk = sock->sk; |
1238 | struct bcm_sock *bo = bcm_sk(sk); | 1237 | struct bcm_sock *bo = bcm_sk(sk); |
@@ -1535,8 +1534,8 @@ static int bcm_connect(struct socket *sock, struct sockaddr *uaddr, int len, | |||
1535 | return 0; | 1534 | return 0; |
1536 | } | 1535 | } |
1537 | 1536 | ||
1538 | static int bcm_recvmsg(struct kiocb *iocb, struct socket *sock, | 1537 | static int bcm_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1539 | struct msghdr *msg, size_t size, int flags) | 1538 | int flags) |
1540 | { | 1539 | { |
1541 | struct sock *sk = sock->sk; | 1540 | struct sock *sk = sock->sk; |
1542 | struct sk_buff *skb; | 1541 | struct sk_buff *skb; |
diff --git a/net/can/raw.c b/net/can/raw.c index 94601b7ff0a3..63ffdb0f3a23 100644 --- a/net/can/raw.c +++ b/net/can/raw.c | |||
@@ -658,8 +658,7 @@ static int raw_getsockopt(struct socket *sock, int level, int optname, | |||
658 | return 0; | 658 | return 0; |
659 | } | 659 | } |
660 | 660 | ||
661 | static int raw_sendmsg(struct kiocb *iocb, struct socket *sock, | 661 | static int raw_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) |
662 | struct msghdr *msg, size_t size) | ||
663 | { | 662 | { |
664 | struct sock *sk = sock->sk; | 663 | struct sock *sk = sock->sk; |
665 | struct raw_sock *ro = raw_sk(sk); | 664 | struct raw_sock *ro = raw_sk(sk); |
@@ -728,8 +727,8 @@ send_failed: | |||
728 | return err; | 727 | return err; |
729 | } | 728 | } |
730 | 729 | ||
731 | static int raw_recvmsg(struct kiocb *iocb, struct socket *sock, | 730 | static int raw_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
732 | struct msghdr *msg, size_t size, int flags) | 731 | int flags) |
733 | { | 732 | { |
734 | struct sock *sk = sock->sk; | 733 | struct sock *sk = sock->sk; |
735 | struct sk_buff *skb; | 734 | struct sk_buff *skb; |
diff --git a/net/core/sock.c b/net/core/sock.c index 9c74fc8f0e32..726e1f99aa8d 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -2163,15 +2163,14 @@ int sock_no_getsockopt(struct socket *sock, int level, int optname, | |||
2163 | } | 2163 | } |
2164 | EXPORT_SYMBOL(sock_no_getsockopt); | 2164 | EXPORT_SYMBOL(sock_no_getsockopt); |
2165 | 2165 | ||
2166 | int sock_no_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | 2166 | int sock_no_sendmsg(struct socket *sock, struct msghdr *m, size_t len) |
2167 | size_t len) | ||
2168 | { | 2167 | { |
2169 | return -EOPNOTSUPP; | 2168 | return -EOPNOTSUPP; |
2170 | } | 2169 | } |
2171 | EXPORT_SYMBOL(sock_no_sendmsg); | 2170 | EXPORT_SYMBOL(sock_no_sendmsg); |
2172 | 2171 | ||
2173 | int sock_no_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | 2172 | int sock_no_recvmsg(struct socket *sock, struct msghdr *m, size_t len, |
2174 | size_t len, int flags) | 2173 | int flags) |
2175 | { | 2174 | { |
2176 | return -EOPNOTSUPP; | 2175 | return -EOPNOTSUPP; |
2177 | } | 2176 | } |
@@ -2543,14 +2542,14 @@ int compat_sock_common_getsockopt(struct socket *sock, int level, int optname, | |||
2543 | EXPORT_SYMBOL(compat_sock_common_getsockopt); | 2542 | EXPORT_SYMBOL(compat_sock_common_getsockopt); |
2544 | #endif | 2543 | #endif |
2545 | 2544 | ||
2546 | int sock_common_recvmsg(struct kiocb *iocb, struct socket *sock, | 2545 | int sock_common_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
2547 | struct msghdr *msg, size_t size, int flags) | 2546 | int flags) |
2548 | { | 2547 | { |
2549 | struct sock *sk = sock->sk; | 2548 | struct sock *sk = sock->sk; |
2550 | int addr_len = 0; | 2549 | int addr_len = 0; |
2551 | int err; | 2550 | int err; |
2552 | 2551 | ||
2553 | err = sk->sk_prot->recvmsg(iocb, sk, msg, size, flags & MSG_DONTWAIT, | 2552 | err = sk->sk_prot->recvmsg(sk, msg, size, flags & MSG_DONTWAIT, |
2554 | flags & ~MSG_DONTWAIT, &addr_len); | 2553 | flags & ~MSG_DONTWAIT, &addr_len); |
2555 | if (err >= 0) | 2554 | if (err >= 0) |
2556 | msg->msg_namelen = addr_len; | 2555 | msg->msg_namelen = addr_len; |
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h index e4c144fa706f..3b1d64d6e093 100644 --- a/net/dccp/dccp.h +++ b/net/dccp/dccp.h | |||
@@ -310,11 +310,9 @@ int compat_dccp_setsockopt(struct sock *sk, int level, int optname, | |||
310 | char __user *optval, unsigned int optlen); | 310 | char __user *optval, unsigned int optlen); |
311 | #endif | 311 | #endif |
312 | int dccp_ioctl(struct sock *sk, int cmd, unsigned long arg); | 312 | int dccp_ioctl(struct sock *sk, int cmd, unsigned long arg); |
313 | int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 313 | int dccp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size); |
314 | size_t size); | 314 | int dccp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int nonblock, |
315 | int dccp_recvmsg(struct kiocb *iocb, struct sock *sk, | 315 | int flags, int *addr_len); |
316 | struct msghdr *msg, size_t len, int nonblock, int flags, | ||
317 | int *addr_len); | ||
318 | void dccp_shutdown(struct sock *sk, int how); | 316 | void dccp_shutdown(struct sock *sk, int how); |
319 | int inet_dccp_listen(struct socket *sock, int backlog); | 317 | int inet_dccp_listen(struct socket *sock, int backlog); |
320 | unsigned int dccp_poll(struct file *file, struct socket *sock, | 318 | unsigned int dccp_poll(struct file *file, struct socket *sock, |
diff --git a/net/dccp/probe.c b/net/dccp/probe.c index 595ddf0459db..d8346d0eadeb 100644 --- a/net/dccp/probe.c +++ b/net/dccp/probe.c | |||
@@ -72,8 +72,7 @@ static void printl(const char *fmt, ...) | |||
72 | wake_up(&dccpw.wait); | 72 | wake_up(&dccpw.wait); |
73 | } | 73 | } |
74 | 74 | ||
75 | static int jdccp_sendmsg(struct kiocb *iocb, struct sock *sk, | 75 | static int jdccp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) |
76 | struct msghdr *msg, size_t size) | ||
77 | { | 76 | { |
78 | const struct inet_sock *inet = inet_sk(sk); | 77 | const struct inet_sock *inet = inet_sk(sk); |
79 | struct ccid3_hc_tx_sock *hc = NULL; | 78 | struct ccid3_hc_tx_sock *hc = NULL; |
diff --git a/net/dccp/proto.c b/net/dccp/proto.c index e171b780b499..52a94016526d 100644 --- a/net/dccp/proto.c +++ b/net/dccp/proto.c | |||
@@ -741,8 +741,7 @@ static int dccp_msghdr_parse(struct msghdr *msg, struct sk_buff *skb) | |||
741 | return 0; | 741 | return 0; |
742 | } | 742 | } |
743 | 743 | ||
744 | int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 744 | int dccp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
745 | size_t len) | ||
746 | { | 745 | { |
747 | const struct dccp_sock *dp = dccp_sk(sk); | 746 | const struct dccp_sock *dp = dccp_sk(sk); |
748 | const int flags = msg->msg_flags; | 747 | const int flags = msg->msg_flags; |
@@ -806,8 +805,8 @@ out_discard: | |||
806 | 805 | ||
807 | EXPORT_SYMBOL_GPL(dccp_sendmsg); | 806 | EXPORT_SYMBOL_GPL(dccp_sendmsg); |
808 | 807 | ||
809 | int dccp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 808 | int dccp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int nonblock, |
810 | size_t len, int nonblock, int flags, int *addr_len) | 809 | int flags, int *addr_len) |
811 | { | 810 | { |
812 | const struct dccp_hdr *dh; | 811 | const struct dccp_hdr *dh; |
813 | long timeo; | 812 | long timeo; |
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index 810228646de3..754484b3cd0e 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c | |||
@@ -1669,8 +1669,8 @@ static int dn_data_ready(struct sock *sk, struct sk_buff_head *q, int flags, int | |||
1669 | } | 1669 | } |
1670 | 1670 | ||
1671 | 1671 | ||
1672 | static int dn_recvmsg(struct kiocb *iocb, struct socket *sock, | 1672 | static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1673 | struct msghdr *msg, size_t size, int flags) | 1673 | int flags) |
1674 | { | 1674 | { |
1675 | struct sock *sk = sock->sk; | 1675 | struct sock *sk = sock->sk; |
1676 | struct dn_scp *scp = DN_SK(sk); | 1676 | struct dn_scp *scp = DN_SK(sk); |
@@ -1905,8 +1905,7 @@ static inline struct sk_buff *dn_alloc_send_pskb(struct sock *sk, | |||
1905 | return skb; | 1905 | return skb; |
1906 | } | 1906 | } |
1907 | 1907 | ||
1908 | static int dn_sendmsg(struct kiocb *iocb, struct socket *sock, | 1908 | static int dn_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) |
1909 | struct msghdr *msg, size_t size) | ||
1910 | { | 1909 | { |
1911 | struct sock *sk = sock->sk; | 1910 | struct sock *sk = sock->sk; |
1912 | struct dn_scp *scp = DN_SK(sk); | 1911 | struct dn_scp *scp = DN_SK(sk); |
diff --git a/net/ieee802154/socket.c b/net/ieee802154/socket.c index 2878d8ca6d3b..b60c65f70346 100644 --- a/net/ieee802154/socket.c +++ b/net/ieee802154/socket.c | |||
@@ -98,12 +98,12 @@ static int ieee802154_sock_release(struct socket *sock) | |||
98 | return 0; | 98 | return 0; |
99 | } | 99 | } |
100 | 100 | ||
101 | static int ieee802154_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 101 | static int ieee802154_sock_sendmsg(struct socket *sock, struct msghdr *msg, |
102 | struct msghdr *msg, size_t len) | 102 | size_t len) |
103 | { | 103 | { |
104 | struct sock *sk = sock->sk; | 104 | struct sock *sk = sock->sk; |
105 | 105 | ||
106 | return sk->sk_prot->sendmsg(iocb, sk, msg, len); | 106 | return sk->sk_prot->sendmsg(sk, msg, len); |
107 | } | 107 | } |
108 | 108 | ||
109 | static int ieee802154_sock_bind(struct socket *sock, struct sockaddr *uaddr, | 109 | static int ieee802154_sock_bind(struct socket *sock, struct sockaddr *uaddr, |
@@ -255,8 +255,7 @@ static int raw_disconnect(struct sock *sk, int flags) | |||
255 | return 0; | 255 | return 0; |
256 | } | 256 | } |
257 | 257 | ||
258 | static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, | 258 | static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) |
259 | struct msghdr *msg, size_t size) | ||
260 | { | 259 | { |
261 | struct net_device *dev; | 260 | struct net_device *dev; |
262 | unsigned int mtu; | 261 | unsigned int mtu; |
@@ -327,8 +326,8 @@ out: | |||
327 | return err; | 326 | return err; |
328 | } | 327 | } |
329 | 328 | ||
330 | static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 329 | static int raw_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
331 | size_t len, int noblock, int flags, int *addr_len) | 330 | int noblock, int flags, int *addr_len) |
332 | { | 331 | { |
333 | size_t copied = 0; | 332 | size_t copied = 0; |
334 | int err = -EOPNOTSUPP; | 333 | int err = -EOPNOTSUPP; |
@@ -615,8 +614,7 @@ static int dgram_disconnect(struct sock *sk, int flags) | |||
615 | return 0; | 614 | return 0; |
616 | } | 615 | } |
617 | 616 | ||
618 | static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk, | 617 | static int dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) |
619 | struct msghdr *msg, size_t size) | ||
620 | { | 618 | { |
621 | struct net_device *dev; | 619 | struct net_device *dev; |
622 | unsigned int mtu; | 620 | unsigned int mtu; |
@@ -715,9 +713,8 @@ out: | |||
715 | return err; | 713 | return err; |
716 | } | 714 | } |
717 | 715 | ||
718 | static int dgram_recvmsg(struct kiocb *iocb, struct sock *sk, | 716 | static int dgram_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
719 | struct msghdr *msg, size_t len, int noblock, | 717 | int noblock, int flags, int *addr_len) |
720 | int flags, int *addr_len) | ||
721 | { | 718 | { |
722 | size_t copied = 0; | 719 | size_t copied = 0; |
723 | int err = -EOPNOTSUPP; | 720 | int err = -EOPNOTSUPP; |
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 4ce954cc94a4..64a9c0fdc4aa 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -716,8 +716,7 @@ int inet_getname(struct socket *sock, struct sockaddr *uaddr, | |||
716 | } | 716 | } |
717 | EXPORT_SYMBOL(inet_getname); | 717 | EXPORT_SYMBOL(inet_getname); |
718 | 718 | ||
719 | int inet_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 719 | int inet_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) |
720 | size_t size) | ||
721 | { | 720 | { |
722 | struct sock *sk = sock->sk; | 721 | struct sock *sk = sock->sk; |
723 | 722 | ||
@@ -728,7 +727,7 @@ int inet_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
728 | inet_autobind(sk)) | 727 | inet_autobind(sk)) |
729 | return -EAGAIN; | 728 | return -EAGAIN; |
730 | 729 | ||
731 | return sk->sk_prot->sendmsg(iocb, sk, msg, size); | 730 | return sk->sk_prot->sendmsg(sk, msg, size); |
732 | } | 731 | } |
733 | EXPORT_SYMBOL(inet_sendmsg); | 732 | EXPORT_SYMBOL(inet_sendmsg); |
734 | 733 | ||
@@ -750,8 +749,8 @@ ssize_t inet_sendpage(struct socket *sock, struct page *page, int offset, | |||
750 | } | 749 | } |
751 | EXPORT_SYMBOL(inet_sendpage); | 750 | EXPORT_SYMBOL(inet_sendpage); |
752 | 751 | ||
753 | int inet_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 752 | int inet_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
754 | size_t size, int flags) | 753 | int flags) |
755 | { | 754 | { |
756 | struct sock *sk = sock->sk; | 755 | struct sock *sk = sock->sk; |
757 | int addr_len = 0; | 756 | int addr_len = 0; |
@@ -759,7 +758,7 @@ int inet_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
759 | 758 | ||
760 | sock_rps_record_flow(sk); | 759 | sock_rps_record_flow(sk); |
761 | 760 | ||
762 | err = sk->sk_prot->recvmsg(iocb, sk, msg, size, flags & MSG_DONTWAIT, | 761 | err = sk->sk_prot->recvmsg(sk, msg, size, flags & MSG_DONTWAIT, |
763 | flags & ~MSG_DONTWAIT, &addr_len); | 762 | flags & ~MSG_DONTWAIT, &addr_len); |
764 | if (err >= 0) | 763 | if (err >= 0) |
765 | msg->msg_namelen = addr_len; | 764 | msg->msg_namelen = addr_len; |
diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c index e9f66e1cda50..3648e7f32f3d 100644 --- a/net/ipv4/ping.c +++ b/net/ipv4/ping.c | |||
@@ -684,8 +684,7 @@ int ping_common_sendmsg(int family, struct msghdr *msg, size_t len, | |||
684 | } | 684 | } |
685 | EXPORT_SYMBOL_GPL(ping_common_sendmsg); | 685 | EXPORT_SYMBOL_GPL(ping_common_sendmsg); |
686 | 686 | ||
687 | static int ping_v4_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 687 | static int ping_v4_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
688 | size_t len) | ||
689 | { | 688 | { |
690 | struct net *net = sock_net(sk); | 689 | struct net *net = sock_net(sk); |
691 | struct flowi4 fl4; | 690 | struct flowi4 fl4; |
@@ -841,8 +840,8 @@ do_confirm: | |||
841 | goto out; | 840 | goto out; |
842 | } | 841 | } |
843 | 842 | ||
844 | int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 843 | int ping_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, |
845 | size_t len, int noblock, int flags, int *addr_len) | 844 | int flags, int *addr_len) |
846 | { | 845 | { |
847 | struct inet_sock *isk = inet_sk(sk); | 846 | struct inet_sock *isk = inet_sk(sk); |
848 | int family = sk->sk_family; | 847 | int family = sk->sk_family; |
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index f027a708b7e0..923cf538fce1 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c | |||
@@ -481,8 +481,7 @@ static int raw_getfrag(void *from, char *to, int offset, int len, int odd, | |||
481 | return ip_generic_getfrag(rfv->msg, to, offset, len, odd, skb); | 481 | return ip_generic_getfrag(rfv->msg, to, offset, len, odd, skb); |
482 | } | 482 | } |
483 | 483 | ||
484 | static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 484 | static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
485 | size_t len) | ||
486 | { | 485 | { |
487 | struct inet_sock *inet = inet_sk(sk); | 486 | struct inet_sock *inet = inet_sk(sk); |
488 | struct ipcm_cookie ipc; | 487 | struct ipcm_cookie ipc; |
@@ -709,8 +708,8 @@ out: return ret; | |||
709 | * we return it, otherwise we block. | 708 | * we return it, otherwise we block. |
710 | */ | 709 | */ |
711 | 710 | ||
712 | static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 711 | static int raw_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
713 | size_t len, int noblock, int flags, int *addr_len) | 712 | int noblock, int flags, int *addr_len) |
714 | { | 713 | { |
715 | struct inet_sock *inet = inet_sk(sk); | 714 | struct inet_sock *inet = inet_sk(sk); |
716 | size_t copied = 0; | 715 | size_t copied = 0; |
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 4b57ea8dabc7..d939c35001f9 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -1064,8 +1064,7 @@ static int tcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg, | |||
1064 | return err; | 1064 | return err; |
1065 | } | 1065 | } |
1066 | 1066 | ||
1067 | int tcp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 1067 | int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) |
1068 | size_t size) | ||
1069 | { | 1068 | { |
1070 | struct tcp_sock *tp = tcp_sk(sk); | 1069 | struct tcp_sock *tp = tcp_sk(sk); |
1071 | struct sk_buff *skb; | 1070 | struct sk_buff *skb; |
@@ -1543,8 +1542,8 @@ EXPORT_SYMBOL(tcp_read_sock); | |||
1543 | * Probably, code can be easily improved even more. | 1542 | * Probably, code can be easily improved even more. |
1544 | */ | 1543 | */ |
1545 | 1544 | ||
1546 | int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 1545 | int tcp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int nonblock, |
1547 | size_t len, int nonblock, int flags, int *addr_len) | 1546 | int flags, int *addr_len) |
1548 | { | 1547 | { |
1549 | struct tcp_sock *tp = tcp_sk(sk); | 1548 | struct tcp_sock *tp = tcp_sk(sk); |
1550 | int copied = 0; | 1549 | int copied = 0; |
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 0224f930c613..f27556e2158b 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -873,8 +873,7 @@ out: | |||
873 | } | 873 | } |
874 | EXPORT_SYMBOL(udp_push_pending_frames); | 874 | EXPORT_SYMBOL(udp_push_pending_frames); |
875 | 875 | ||
876 | int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 876 | int udp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
877 | size_t len) | ||
878 | { | 877 | { |
879 | struct inet_sock *inet = inet_sk(sk); | 878 | struct inet_sock *inet = inet_sk(sk); |
880 | struct udp_sock *up = udp_sk(sk); | 879 | struct udp_sock *up = udp_sk(sk); |
@@ -1136,7 +1135,7 @@ int udp_sendpage(struct sock *sk, struct page *page, int offset, | |||
1136 | * sendpage interface can't pass. | 1135 | * sendpage interface can't pass. |
1137 | * This will succeed only when the socket is connected. | 1136 | * This will succeed only when the socket is connected. |
1138 | */ | 1137 | */ |
1139 | ret = udp_sendmsg(NULL, sk, &msg, 0); | 1138 | ret = udp_sendmsg(sk, &msg, 0); |
1140 | if (ret < 0) | 1139 | if (ret < 0) |
1141 | return ret; | 1140 | return ret; |
1142 | } | 1141 | } |
@@ -1254,8 +1253,8 @@ EXPORT_SYMBOL(udp_ioctl); | |||
1254 | * return it, otherwise we block. | 1253 | * return it, otherwise we block. |
1255 | */ | 1254 | */ |
1256 | 1255 | ||
1257 | int udp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 1256 | int udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, |
1258 | size_t len, int noblock, int flags, int *addr_len) | 1257 | int flags, int *addr_len) |
1259 | { | 1258 | { |
1260 | struct inet_sock *inet = inet_sk(sk); | 1259 | struct inet_sock *inet = inet_sk(sk); |
1261 | DECLARE_SOCKADDR(struct sockaddr_in *, sin, msg->msg_name); | 1260 | DECLARE_SOCKADDR(struct sockaddr_in *, sin, msg->msg_name); |
diff --git a/net/ipv4/udp_impl.h b/net/ipv4/udp_impl.h index f3c27899f62b..7e0fe4bdd967 100644 --- a/net/ipv4/udp_impl.h +++ b/net/ipv4/udp_impl.h | |||
@@ -21,8 +21,8 @@ int compat_udp_setsockopt(struct sock *sk, int level, int optname, | |||
21 | int compat_udp_getsockopt(struct sock *sk, int level, int optname, | 21 | int compat_udp_getsockopt(struct sock *sk, int level, int optname, |
22 | char __user *optval, int __user *optlen); | 22 | char __user *optval, int __user *optlen); |
23 | #endif | 23 | #endif |
24 | int udp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 24 | int udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, |
25 | size_t len, int noblock, int flags, int *addr_len); | 25 | int flags, int *addr_len); |
26 | int udp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, | 26 | int udp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, |
27 | int flags); | 27 | int flags); |
28 | int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb); | 28 | int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb); |
diff --git a/net/ipv6/ping.c b/net/ipv6/ping.c index bd46f736f61d..fee25c0ed1f5 100644 --- a/net/ipv6/ping.c +++ b/net/ipv6/ping.c | |||
@@ -77,8 +77,7 @@ static int dummy_ipv6_chk_addr(struct net *net, const struct in6_addr *addr, | |||
77 | return 0; | 77 | return 0; |
78 | } | 78 | } |
79 | 79 | ||
80 | int ping_v6_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 80 | int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
81 | size_t len) | ||
82 | { | 81 | { |
83 | struct inet_sock *inet = inet_sk(sk); | 82 | struct inet_sock *inet = inet_sk(sk); |
84 | struct ipv6_pinfo *np = inet6_sk(sk); | 83 | struct ipv6_pinfo *np = inet6_sk(sk); |
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index 0d84b2c7f24e..a5287b3582a4 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c | |||
@@ -456,9 +456,8 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb) | |||
456 | * we return it, otherwise we block. | 456 | * we return it, otherwise we block. |
457 | */ | 457 | */ |
458 | 458 | ||
459 | static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk, | 459 | static int rawv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
460 | struct msghdr *msg, size_t len, | 460 | int noblock, int flags, int *addr_len) |
461 | int noblock, int flags, int *addr_len) | ||
462 | { | 461 | { |
463 | struct ipv6_pinfo *np = inet6_sk(sk); | 462 | struct ipv6_pinfo *np = inet6_sk(sk); |
464 | DECLARE_SOCKADDR(struct sockaddr_in6 *, sin6, msg->msg_name); | 463 | DECLARE_SOCKADDR(struct sockaddr_in6 *, sin6, msg->msg_name); |
@@ -730,8 +729,7 @@ static int raw6_getfrag(void *from, char *to, int offset, int len, int odd, | |||
730 | return ip_generic_getfrag(rfv->msg, to, offset, len, odd, skb); | 729 | return ip_generic_getfrag(rfv->msg, to, offset, len, odd, skb); |
731 | } | 730 | } |
732 | 731 | ||
733 | static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | 732 | static int rawv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
734 | struct msghdr *msg, size_t len) | ||
735 | { | 733 | { |
736 | struct ipv6_txoptions opt_space; | 734 | struct ipv6_txoptions opt_space; |
737 | DECLARE_SOCKADDR(struct sockaddr_in6 *, sin6, msg->msg_name); | 735 | DECLARE_SOCKADDR(struct sockaddr_in6 *, sin6, msg->msg_name); |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index d048d46779fc..70568a4548e4 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -391,8 +391,7 @@ EXPORT_SYMBOL_GPL(udp6_lib_lookup); | |||
391 | * return it, otherwise we block. | 391 | * return it, otherwise we block. |
392 | */ | 392 | */ |
393 | 393 | ||
394 | int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk, | 394 | int udpv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
395 | struct msghdr *msg, size_t len, | ||
396 | int noblock, int flags, int *addr_len) | 395 | int noblock, int flags, int *addr_len) |
397 | { | 396 | { |
398 | struct ipv6_pinfo *np = inet6_sk(sk); | 397 | struct ipv6_pinfo *np = inet6_sk(sk); |
@@ -1101,8 +1100,7 @@ out: | |||
1101 | return err; | 1100 | return err; |
1102 | } | 1101 | } |
1103 | 1102 | ||
1104 | int udpv6_sendmsg(struct kiocb *iocb, struct sock *sk, | 1103 | int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
1105 | struct msghdr *msg, size_t len) | ||
1106 | { | 1104 | { |
1107 | struct ipv6_txoptions opt_space; | 1105 | struct ipv6_txoptions opt_space; |
1108 | struct udp_sock *up = udp_sk(sk); | 1106 | struct udp_sock *up = udp_sk(sk); |
@@ -1164,12 +1162,12 @@ int udpv6_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
1164 | do_udp_sendmsg: | 1162 | do_udp_sendmsg: |
1165 | if (__ipv6_only_sock(sk)) | 1163 | if (__ipv6_only_sock(sk)) |
1166 | return -ENETUNREACH; | 1164 | return -ENETUNREACH; |
1167 | return udp_sendmsg(iocb, sk, msg, len); | 1165 | return udp_sendmsg(sk, msg, len); |
1168 | } | 1166 | } |
1169 | } | 1167 | } |
1170 | 1168 | ||
1171 | if (up->pending == AF_INET) | 1169 | if (up->pending == AF_INET) |
1172 | return udp_sendmsg(iocb, sk, msg, len); | 1170 | return udp_sendmsg(sk, msg, len); |
1173 | 1171 | ||
1174 | /* Rough check on arithmetic overflow, | 1172 | /* Rough check on arithmetic overflow, |
1175 | better check is made in ip6_append_data(). | 1173 | better check is made in ip6_append_data(). |
diff --git a/net/ipv6/udp_impl.h b/net/ipv6/udp_impl.h index c779c3c90b9d..0682c031ccdc 100644 --- a/net/ipv6/udp_impl.h +++ b/net/ipv6/udp_impl.h | |||
@@ -23,10 +23,9 @@ int compat_udpv6_setsockopt(struct sock *sk, int level, int optname, | |||
23 | int compat_udpv6_getsockopt(struct sock *sk, int level, int optname, | 23 | int compat_udpv6_getsockopt(struct sock *sk, int level, int optname, |
24 | char __user *optval, int __user *optlen); | 24 | char __user *optval, int __user *optlen); |
25 | #endif | 25 | #endif |
26 | int udpv6_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 26 | int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len); |
27 | size_t len); | 27 | int udpv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, |
28 | int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 28 | int flags, int *addr_len); |
29 | size_t len, int noblock, int flags, int *addr_len); | ||
30 | int udpv6_queue_rcv_skb(struct sock *sk, struct sk_buff *skb); | 29 | int udpv6_queue_rcv_skb(struct sock *sk, struct sk_buff *skb); |
31 | void udpv6_destroy_sock(struct sock *sk); | 30 | void udpv6_destroy_sock(struct sock *sk); |
32 | 31 | ||
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c index f11ad1d95e0e..4ea5d7497b5f 100644 --- a/net/ipx/af_ipx.c +++ b/net/ipx/af_ipx.c | |||
@@ -1688,8 +1688,7 @@ out: | |||
1688 | return rc; | 1688 | return rc; |
1689 | } | 1689 | } |
1690 | 1690 | ||
1691 | static int ipx_sendmsg(struct kiocb *iocb, struct socket *sock, | 1691 | static int ipx_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
1692 | struct msghdr *msg, size_t len) | ||
1693 | { | 1692 | { |
1694 | struct sock *sk = sock->sk; | 1693 | struct sock *sk = sock->sk; |
1695 | struct ipx_sock *ipxs = ipx_sk(sk); | 1694 | struct ipx_sock *ipxs = ipx_sk(sk); |
@@ -1754,8 +1753,8 @@ out: | |||
1754 | } | 1753 | } |
1755 | 1754 | ||
1756 | 1755 | ||
1757 | static int ipx_recvmsg(struct kiocb *iocb, struct socket *sock, | 1756 | static int ipx_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1758 | struct msghdr *msg, size_t size, int flags) | 1757 | int flags) |
1759 | { | 1758 | { |
1760 | struct sock *sk = sock->sk; | 1759 | struct sock *sk = sock->sk; |
1761 | struct ipx_sock *ipxs = ipx_sk(sk); | 1760 | struct ipx_sock *ipxs = ipx_sk(sk); |
diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c index 568edc72d737..ee0ea25c8e7a 100644 --- a/net/irda/af_irda.c +++ b/net/irda/af_irda.c | |||
@@ -1256,14 +1256,13 @@ static int irda_release(struct socket *sock) | |||
1256 | } | 1256 | } |
1257 | 1257 | ||
1258 | /* | 1258 | /* |
1259 | * Function irda_sendmsg (iocb, sock, msg, len) | 1259 | * Function irda_sendmsg (sock, msg, len) |
1260 | * | 1260 | * |
1261 | * Send message down to TinyTP. This function is used for both STREAM and | 1261 | * Send message down to TinyTP. This function is used for both STREAM and |
1262 | * SEQPACK services. This is possible since it forces the client to | 1262 | * SEQPACK services. This is possible since it forces the client to |
1263 | * fragment the message if necessary | 1263 | * fragment the message if necessary |
1264 | */ | 1264 | */ |
1265 | static int irda_sendmsg(struct kiocb *iocb, struct socket *sock, | 1265 | static int irda_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
1266 | struct msghdr *msg, size_t len) | ||
1267 | { | 1266 | { |
1268 | struct sock *sk = sock->sk; | 1267 | struct sock *sk = sock->sk; |
1269 | struct irda_sock *self; | 1268 | struct irda_sock *self; |
@@ -1348,13 +1347,13 @@ out: | |||
1348 | } | 1347 | } |
1349 | 1348 | ||
1350 | /* | 1349 | /* |
1351 | * Function irda_recvmsg_dgram (iocb, sock, msg, size, flags) | 1350 | * Function irda_recvmsg_dgram (sock, msg, size, flags) |
1352 | * | 1351 | * |
1353 | * Try to receive message and copy it to user. The frame is discarded | 1352 | * Try to receive message and copy it to user. The frame is discarded |
1354 | * after being read, regardless of how much the user actually read | 1353 | * after being read, regardless of how much the user actually read |
1355 | */ | 1354 | */ |
1356 | static int irda_recvmsg_dgram(struct kiocb *iocb, struct socket *sock, | 1355 | static int irda_recvmsg_dgram(struct socket *sock, struct msghdr *msg, |
1357 | struct msghdr *msg, size_t size, int flags) | 1356 | size_t size, int flags) |
1358 | { | 1357 | { |
1359 | struct sock *sk = sock->sk; | 1358 | struct sock *sk = sock->sk; |
1360 | struct irda_sock *self = irda_sk(sk); | 1359 | struct irda_sock *self = irda_sk(sk); |
@@ -1398,10 +1397,10 @@ static int irda_recvmsg_dgram(struct kiocb *iocb, struct socket *sock, | |||
1398 | } | 1397 | } |
1399 | 1398 | ||
1400 | /* | 1399 | /* |
1401 | * Function irda_recvmsg_stream (iocb, sock, msg, size, flags) | 1400 | * Function irda_recvmsg_stream (sock, msg, size, flags) |
1402 | */ | 1401 | */ |
1403 | static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock, | 1402 | static int irda_recvmsg_stream(struct socket *sock, struct msghdr *msg, |
1404 | struct msghdr *msg, size_t size, int flags) | 1403 | size_t size, int flags) |
1405 | { | 1404 | { |
1406 | struct sock *sk = sock->sk; | 1405 | struct sock *sk = sock->sk; |
1407 | struct irda_sock *self = irda_sk(sk); | 1406 | struct irda_sock *self = irda_sk(sk); |
@@ -1515,14 +1514,14 @@ static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock, | |||
1515 | } | 1514 | } |
1516 | 1515 | ||
1517 | /* | 1516 | /* |
1518 | * Function irda_sendmsg_dgram (iocb, sock, msg, len) | 1517 | * Function irda_sendmsg_dgram (sock, msg, len) |
1519 | * | 1518 | * |
1520 | * Send message down to TinyTP for the unreliable sequenced | 1519 | * Send message down to TinyTP for the unreliable sequenced |
1521 | * packet service... | 1520 | * packet service... |
1522 | * | 1521 | * |
1523 | */ | 1522 | */ |
1524 | static int irda_sendmsg_dgram(struct kiocb *iocb, struct socket *sock, | 1523 | static int irda_sendmsg_dgram(struct socket *sock, struct msghdr *msg, |
1525 | struct msghdr *msg, size_t len) | 1524 | size_t len) |
1526 | { | 1525 | { |
1527 | struct sock *sk = sock->sk; | 1526 | struct sock *sk = sock->sk; |
1528 | struct irda_sock *self; | 1527 | struct irda_sock *self; |
@@ -1594,14 +1593,14 @@ out: | |||
1594 | } | 1593 | } |
1595 | 1594 | ||
1596 | /* | 1595 | /* |
1597 | * Function irda_sendmsg_ultra (iocb, sock, msg, len) | 1596 | * Function irda_sendmsg_ultra (sock, msg, len) |
1598 | * | 1597 | * |
1599 | * Send message down to IrLMP for the unreliable Ultra | 1598 | * Send message down to IrLMP for the unreliable Ultra |
1600 | * packet service... | 1599 | * packet service... |
1601 | */ | 1600 | */ |
1602 | #ifdef CONFIG_IRDA_ULTRA | 1601 | #ifdef CONFIG_IRDA_ULTRA |
1603 | static int irda_sendmsg_ultra(struct kiocb *iocb, struct socket *sock, | 1602 | static int irda_sendmsg_ultra(struct socket *sock, struct msghdr *msg, |
1604 | struct msghdr *msg, size_t len) | 1603 | size_t len) |
1605 | { | 1604 | { |
1606 | struct sock *sk = sock->sk; | 1605 | struct sock *sk = sock->sk; |
1607 | struct irda_sock *self; | 1606 | struct irda_sock *self; |
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c index 2e9953b2db84..94b4c898a116 100644 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c | |||
@@ -1026,8 +1026,8 @@ static int iucv_send_iprm(struct iucv_path *path, struct iucv_message *msg, | |||
1026 | (void *) prmdata, 8); | 1026 | (void *) prmdata, 8); |
1027 | } | 1027 | } |
1028 | 1028 | ||
1029 | static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 1029 | static int iucv_sock_sendmsg(struct socket *sock, struct msghdr *msg, |
1030 | struct msghdr *msg, size_t len) | 1030 | size_t len) |
1031 | { | 1031 | { |
1032 | struct sock *sk = sock->sk; | 1032 | struct sock *sk = sock->sk; |
1033 | struct iucv_sock *iucv = iucv_sk(sk); | 1033 | struct iucv_sock *iucv = iucv_sk(sk); |
@@ -1317,8 +1317,8 @@ static void iucv_process_message_q(struct sock *sk) | |||
1317 | } | 1317 | } |
1318 | } | 1318 | } |
1319 | 1319 | ||
1320 | static int iucv_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 1320 | static int iucv_sock_recvmsg(struct socket *sock, struct msghdr *msg, |
1321 | struct msghdr *msg, size_t len, int flags) | 1321 | size_t len, int flags) |
1322 | { | 1322 | { |
1323 | int noblock = flags & MSG_DONTWAIT; | 1323 | int noblock = flags & MSG_DONTWAIT; |
1324 | struct sock *sk = sock->sk; | 1324 | struct sock *sk = sock->sk; |
diff --git a/net/key/af_key.c b/net/key/af_key.c index f8ac939d52b4..9255fd9d94bc 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c | |||
@@ -3588,8 +3588,7 @@ static int pfkey_send_migrate(const struct xfrm_selector *sel, u8 dir, u8 type, | |||
3588 | } | 3588 | } |
3589 | #endif | 3589 | #endif |
3590 | 3590 | ||
3591 | static int pfkey_sendmsg(struct kiocb *kiocb, | 3591 | static int pfkey_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
3592 | struct socket *sock, struct msghdr *msg, size_t len) | ||
3593 | { | 3592 | { |
3594 | struct sock *sk = sock->sk; | 3593 | struct sock *sk = sock->sk; |
3595 | struct sk_buff *skb = NULL; | 3594 | struct sk_buff *skb = NULL; |
@@ -3630,8 +3629,7 @@ out: | |||
3630 | return err ? : len; | 3629 | return err ? : len; |
3631 | } | 3630 | } |
3632 | 3631 | ||
3633 | static int pfkey_recvmsg(struct kiocb *kiocb, | 3632 | static int pfkey_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
3634 | struct socket *sock, struct msghdr *msg, size_t len, | ||
3635 | int flags) | 3633 | int flags) |
3636 | { | 3634 | { |
3637 | struct sock *sk = sock->sk; | 3635 | struct sock *sk = sock->sk; |
diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c index 05dfc8aa36af..79649937ec71 100644 --- a/net/l2tp/l2tp_ip.c +++ b/net/l2tp/l2tp_ip.c | |||
@@ -385,7 +385,7 @@ drop: | |||
385 | /* Userspace will call sendmsg() on the tunnel socket to send L2TP | 385 | /* Userspace will call sendmsg() on the tunnel socket to send L2TP |
386 | * control frames. | 386 | * control frames. |
387 | */ | 387 | */ |
388 | static int l2tp_ip_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t len) | 388 | static int l2tp_ip_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
389 | { | 389 | { |
390 | struct sk_buff *skb; | 390 | struct sk_buff *skb; |
391 | int rc; | 391 | int rc; |
@@ -506,7 +506,7 @@ no_route: | |||
506 | goto out; | 506 | goto out; |
507 | } | 507 | } |
508 | 508 | ||
509 | static int l2tp_ip_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | 509 | static int l2tp_ip_recvmsg(struct sock *sk, struct msghdr *msg, |
510 | size_t len, int noblock, int flags, int *addr_len) | 510 | size_t len, int noblock, int flags, int *addr_len) |
511 | { | 511 | { |
512 | struct inet_sock *inet = inet_sk(sk); | 512 | struct inet_sock *inet = inet_sk(sk); |
diff --git a/net/l2tp/l2tp_ip6.c b/net/l2tp/l2tp_ip6.c index 8611f1b63141..d1ded3777815 100644 --- a/net/l2tp/l2tp_ip6.c +++ b/net/l2tp/l2tp_ip6.c | |||
@@ -480,8 +480,7 @@ out: | |||
480 | /* Userspace will call sendmsg() on the tunnel socket to send L2TP | 480 | /* Userspace will call sendmsg() on the tunnel socket to send L2TP |
481 | * control frames. | 481 | * control frames. |
482 | */ | 482 | */ |
483 | static int l2tp_ip6_sendmsg(struct kiocb *iocb, struct sock *sk, | 483 | static int l2tp_ip6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
484 | struct msghdr *msg, size_t len) | ||
485 | { | 484 | { |
486 | struct ipv6_txoptions opt_space; | 485 | struct ipv6_txoptions opt_space; |
487 | DECLARE_SOCKADDR(struct sockaddr_l2tpip6 *, lsa, msg->msg_name); | 486 | DECLARE_SOCKADDR(struct sockaddr_l2tpip6 *, lsa, msg->msg_name); |
@@ -643,9 +642,8 @@ do_confirm: | |||
643 | goto done; | 642 | goto done; |
644 | } | 643 | } |
645 | 644 | ||
646 | static int l2tp_ip6_recvmsg(struct kiocb *iocb, struct sock *sk, | 645 | static int l2tp_ip6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
647 | struct msghdr *msg, size_t len, int noblock, | 646 | int noblock, int flags, int *addr_len) |
648 | int flags, int *addr_len) | ||
649 | { | 647 | { |
650 | struct ipv6_pinfo *np = inet6_sk(sk); | 648 | struct ipv6_pinfo *np = inet6_sk(sk); |
651 | DECLARE_SOCKADDR(struct sockaddr_l2tpip6 *, lsa, msg->msg_name); | 649 | DECLARE_SOCKADDR(struct sockaddr_l2tpip6 *, lsa, msg->msg_name); |
diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c index cc7a828fc914..e9b0dec56b8e 100644 --- a/net/l2tp/l2tp_ppp.c +++ b/net/l2tp/l2tp_ppp.c | |||
@@ -185,9 +185,8 @@ static int pppol2tp_recv_payload_hook(struct sk_buff *skb) | |||
185 | 185 | ||
186 | /* Receive message. This is the recvmsg for the PPPoL2TP socket. | 186 | /* Receive message. This is the recvmsg for the PPPoL2TP socket. |
187 | */ | 187 | */ |
188 | static int pppol2tp_recvmsg(struct kiocb *iocb, struct socket *sock, | 188 | static int pppol2tp_recvmsg(struct socket *sock, struct msghdr *msg, |
189 | struct msghdr *msg, size_t len, | 189 | size_t len, int flags) |
190 | int flags) | ||
191 | { | 190 | { |
192 | int err; | 191 | int err; |
193 | struct sk_buff *skb; | 192 | struct sk_buff *skb; |
@@ -295,7 +294,7 @@ static void pppol2tp_session_sock_put(struct l2tp_session *session) | |||
295 | * when a user application does a sendmsg() on the session socket. L2TP and | 294 | * when a user application does a sendmsg() on the session socket. L2TP and |
296 | * PPP headers must be inserted into the user's data. | 295 | * PPP headers must be inserted into the user's data. |
297 | */ | 296 | */ |
298 | static int pppol2tp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | 297 | static int pppol2tp_sendmsg(struct socket *sock, struct msghdr *m, |
299 | size_t total_len) | 298 | size_t total_len) |
300 | { | 299 | { |
301 | static const unsigned char ppph[2] = { 0xff, 0x03 }; | 300 | static const unsigned char ppph[2] = { 0xff, 0x03 }; |
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index 2c0b83ce43bd..17a8dff06090 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c | |||
@@ -704,8 +704,8 @@ out: | |||
704 | * Copy received data to the socket user. | 704 | * Copy received data to the socket user. |
705 | * Returns non-negative upon success, negative otherwise. | 705 | * Returns non-negative upon success, negative otherwise. |
706 | */ | 706 | */ |
707 | static int llc_ui_recvmsg(struct kiocb *iocb, struct socket *sock, | 707 | static int llc_ui_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
708 | struct msghdr *msg, size_t len, int flags) | 708 | int flags) |
709 | { | 709 | { |
710 | DECLARE_SOCKADDR(struct sockaddr_llc *, uaddr, msg->msg_name); | 710 | DECLARE_SOCKADDR(struct sockaddr_llc *, uaddr, msg->msg_name); |
711 | const int nonblock = flags & MSG_DONTWAIT; | 711 | const int nonblock = flags & MSG_DONTWAIT; |
@@ -878,8 +878,7 @@ copy_uaddr: | |||
878 | * Transmit data provided by the socket user. | 878 | * Transmit data provided by the socket user. |
879 | * Returns non-negative upon success, negative otherwise. | 879 | * Returns non-negative upon success, negative otherwise. |
880 | */ | 880 | */ |
881 | static int llc_ui_sendmsg(struct kiocb *iocb, struct socket *sock, | 881 | static int llc_ui_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
882 | struct msghdr *msg, size_t len) | ||
883 | { | 882 | { |
884 | struct sock *sk = sock->sk; | 883 | struct sock *sk = sock->sk; |
885 | struct llc_sock *llc = llc_sk(sk); | 884 | struct llc_sock *llc = llc_sk(sk); |
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 2702673f0f23..a96025c0583f 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c | |||
@@ -2256,8 +2256,7 @@ static void netlink_cmsg_recv_pktinfo(struct msghdr *msg, struct sk_buff *skb) | |||
2256 | put_cmsg(msg, SOL_NETLINK, NETLINK_PKTINFO, sizeof(info), &info); | 2256 | put_cmsg(msg, SOL_NETLINK, NETLINK_PKTINFO, sizeof(info), &info); |
2257 | } | 2257 | } |
2258 | 2258 | ||
2259 | static int netlink_sendmsg(struct kiocb *kiocb, struct socket *sock, | 2259 | static int netlink_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
2260 | struct msghdr *msg, size_t len) | ||
2261 | { | 2260 | { |
2262 | struct sock *sk = sock->sk; | 2261 | struct sock *sk = sock->sk; |
2263 | struct netlink_sock *nlk = nlk_sk(sk); | 2262 | struct netlink_sock *nlk = nlk_sk(sk); |
@@ -2346,8 +2345,7 @@ out: | |||
2346 | return err; | 2345 | return err; |
2347 | } | 2346 | } |
2348 | 2347 | ||
2349 | static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock, | 2348 | static int netlink_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
2350 | struct msghdr *msg, size_t len, | ||
2351 | int flags) | 2349 | int flags) |
2352 | { | 2350 | { |
2353 | struct scm_cookie scm; | 2351 | struct scm_cookie scm; |
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c index 69f1d5e9959f..b987fd56c3c5 100644 --- a/net/netrom/af_netrom.c +++ b/net/netrom/af_netrom.c | |||
@@ -1023,8 +1023,7 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev) | |||
1023 | return 1; | 1023 | return 1; |
1024 | } | 1024 | } |
1025 | 1025 | ||
1026 | static int nr_sendmsg(struct kiocb *iocb, struct socket *sock, | 1026 | static int nr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
1027 | struct msghdr *msg, size_t len) | ||
1028 | { | 1027 | { |
1029 | struct sock *sk = sock->sk; | 1028 | struct sock *sk = sock->sk; |
1030 | struct nr_sock *nr = nr_sk(sk); | 1029 | struct nr_sock *nr = nr_sk(sk); |
@@ -1133,8 +1132,8 @@ out: | |||
1133 | return err; | 1132 | return err; |
1134 | } | 1133 | } |
1135 | 1134 | ||
1136 | static int nr_recvmsg(struct kiocb *iocb, struct socket *sock, | 1135 | static int nr_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1137 | struct msghdr *msg, size_t size, int flags) | 1136 | int flags) |
1138 | { | 1137 | { |
1139 | struct sock *sk = sock->sk; | 1138 | struct sock *sk = sock->sk; |
1140 | DECLARE_SOCKADDR(struct sockaddr_ax25 *, sax, msg->msg_name); | 1139 | DECLARE_SOCKADDR(struct sockaddr_ax25 *, sax, msg->msg_name); |
diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index e181e290427c..9578bd6a4f3e 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c | |||
@@ -750,8 +750,8 @@ error: | |||
750 | return ret; | 750 | return ret; |
751 | } | 751 | } |
752 | 752 | ||
753 | static int llcp_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 753 | static int llcp_sock_sendmsg(struct socket *sock, struct msghdr *msg, |
754 | struct msghdr *msg, size_t len) | 754 | size_t len) |
755 | { | 755 | { |
756 | struct sock *sk = sock->sk; | 756 | struct sock *sk = sock->sk; |
757 | struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk); | 757 | struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk); |
@@ -793,8 +793,8 @@ static int llcp_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
793 | return nfc_llcp_send_i_frame(llcp_sock, msg, len); | 793 | return nfc_llcp_send_i_frame(llcp_sock, msg, len); |
794 | } | 794 | } |
795 | 795 | ||
796 | static int llcp_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 796 | static int llcp_sock_recvmsg(struct socket *sock, struct msghdr *msg, |
797 | struct msghdr *msg, size_t len, int flags) | 797 | size_t len, int flags) |
798 | { | 798 | { |
799 | int noblock = flags & MSG_DONTWAIT; | 799 | int noblock = flags & MSG_DONTWAIT; |
800 | struct sock *sk = sock->sk; | 800 | struct sock *sk = sock->sk; |
diff --git a/net/nfc/rawsock.c b/net/nfc/rawsock.c index 373e138c0ab6..82b4e8024778 100644 --- a/net/nfc/rawsock.c +++ b/net/nfc/rawsock.c | |||
@@ -211,8 +211,7 @@ static void rawsock_tx_work(struct work_struct *work) | |||
211 | } | 211 | } |
212 | } | 212 | } |
213 | 213 | ||
214 | static int rawsock_sendmsg(struct kiocb *iocb, struct socket *sock, | 214 | static int rawsock_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
215 | struct msghdr *msg, size_t len) | ||
216 | { | 215 | { |
217 | struct sock *sk = sock->sk; | 216 | struct sock *sk = sock->sk; |
218 | struct nfc_dev *dev = nfc_rawsock(sk)->dev; | 217 | struct nfc_dev *dev = nfc_rawsock(sk)->dev; |
@@ -248,8 +247,8 @@ static int rawsock_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
248 | return len; | 247 | return len; |
249 | } | 248 | } |
250 | 249 | ||
251 | static int rawsock_recvmsg(struct kiocb *iocb, struct socket *sock, | 250 | static int rawsock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
252 | struct msghdr *msg, size_t len, int flags) | 251 | int flags) |
253 | { | 252 | { |
254 | int noblock = flags & MSG_DONTWAIT; | 253 | int noblock = flags & MSG_DONTWAIT; |
255 | struct sock *sk = sock->sk; | 254 | struct sock *sk = sock->sk; |
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 9db83693d736..404c9735aee9 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c | |||
@@ -1606,8 +1606,8 @@ oom: | |||
1606 | * protocol layers and you must therefore supply it with a complete frame | 1606 | * protocol layers and you must therefore supply it with a complete frame |
1607 | */ | 1607 | */ |
1608 | 1608 | ||
1609 | static int packet_sendmsg_spkt(struct kiocb *iocb, struct socket *sock, | 1609 | static int packet_sendmsg_spkt(struct socket *sock, struct msghdr *msg, |
1610 | struct msghdr *msg, size_t len) | 1610 | size_t len) |
1611 | { | 1611 | { |
1612 | struct sock *sk = sock->sk; | 1612 | struct sock *sk = sock->sk; |
1613 | DECLARE_SOCKADDR(struct sockaddr_pkt *, saddr, msg->msg_name); | 1613 | DECLARE_SOCKADDR(struct sockaddr_pkt *, saddr, msg->msg_name); |
@@ -2601,8 +2601,7 @@ out: | |||
2601 | return err; | 2601 | return err; |
2602 | } | 2602 | } |
2603 | 2603 | ||
2604 | static int packet_sendmsg(struct kiocb *iocb, struct socket *sock, | 2604 | static int packet_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
2605 | struct msghdr *msg, size_t len) | ||
2606 | { | 2605 | { |
2607 | struct sock *sk = sock->sk; | 2606 | struct sock *sk = sock->sk; |
2608 | struct packet_sock *po = pkt_sk(sk); | 2607 | struct packet_sock *po = pkt_sk(sk); |
@@ -2882,8 +2881,8 @@ out: | |||
2882 | * If necessary we block. | 2881 | * If necessary we block. |
2883 | */ | 2882 | */ |
2884 | 2883 | ||
2885 | static int packet_recvmsg(struct kiocb *iocb, struct socket *sock, | 2884 | static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
2886 | struct msghdr *msg, size_t len, int flags) | 2885 | int flags) |
2887 | { | 2886 | { |
2888 | struct sock *sk = sock->sk; | 2887 | struct sock *sk = sock->sk; |
2889 | struct sk_buff *skb; | 2888 | struct sk_buff *skb; |
diff --git a/net/phonet/datagram.c b/net/phonet/datagram.c index 26054b4b467c..5e710435ffa9 100644 --- a/net/phonet/datagram.c +++ b/net/phonet/datagram.c | |||
@@ -83,8 +83,7 @@ static int pn_init(struct sock *sk) | |||
83 | return 0; | 83 | return 0; |
84 | } | 84 | } |
85 | 85 | ||
86 | static int pn_sendmsg(struct kiocb *iocb, struct sock *sk, | 86 | static int pn_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
87 | struct msghdr *msg, size_t len) | ||
88 | { | 87 | { |
89 | DECLARE_SOCKADDR(struct sockaddr_pn *, target, msg->msg_name); | 88 | DECLARE_SOCKADDR(struct sockaddr_pn *, target, msg->msg_name); |
90 | struct sk_buff *skb; | 89 | struct sk_buff *skb; |
@@ -125,9 +124,8 @@ static int pn_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
125 | return (err >= 0) ? len : err; | 124 | return (err >= 0) ? len : err; |
126 | } | 125 | } |
127 | 126 | ||
128 | static int pn_recvmsg(struct kiocb *iocb, struct sock *sk, | 127 | static int pn_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
129 | struct msghdr *msg, size_t len, int noblock, | 128 | int noblock, int flags, int *addr_len) |
130 | int flags, int *addr_len) | ||
131 | { | 129 | { |
132 | struct sk_buff *skb = NULL; | 130 | struct sk_buff *skb = NULL; |
133 | struct sockaddr_pn sa; | 131 | struct sockaddr_pn sa; |
diff --git a/net/phonet/pep.c b/net/phonet/pep.c index 5d3f2b7507d4..6de2aeb98a1f 100644 --- a/net/phonet/pep.c +++ b/net/phonet/pep.c | |||
@@ -1118,8 +1118,7 @@ static int pipe_skb_send(struct sock *sk, struct sk_buff *skb) | |||
1118 | 1118 | ||
1119 | } | 1119 | } |
1120 | 1120 | ||
1121 | static int pep_sendmsg(struct kiocb *iocb, struct sock *sk, | 1121 | static int pep_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) |
1122 | struct msghdr *msg, size_t len) | ||
1123 | { | 1122 | { |
1124 | struct pep_sock *pn = pep_sk(sk); | 1123 | struct pep_sock *pn = pep_sk(sk); |
1125 | struct sk_buff *skb; | 1124 | struct sk_buff *skb; |
@@ -1246,9 +1245,8 @@ struct sk_buff *pep_read(struct sock *sk) | |||
1246 | return skb; | 1245 | return skb; |
1247 | } | 1246 | } |
1248 | 1247 | ||
1249 | static int pep_recvmsg(struct kiocb *iocb, struct sock *sk, | 1248 | static int pep_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
1250 | struct msghdr *msg, size_t len, int noblock, | 1249 | int noblock, int flags, int *addr_len) |
1251 | int flags, int *addr_len) | ||
1252 | { | 1250 | { |
1253 | struct sk_buff *skb; | 1251 | struct sk_buff *skb; |
1254 | int err; | 1252 | int err; |
diff --git a/net/phonet/socket.c b/net/phonet/socket.c index 008214a3d5eb..d575ef4e9aa6 100644 --- a/net/phonet/socket.c +++ b/net/phonet/socket.c | |||
@@ -425,15 +425,15 @@ out: | |||
425 | return err; | 425 | return err; |
426 | } | 426 | } |
427 | 427 | ||
428 | static int pn_socket_sendmsg(struct kiocb *iocb, struct socket *sock, | 428 | static int pn_socket_sendmsg(struct socket *sock, struct msghdr *m, |
429 | struct msghdr *m, size_t total_len) | 429 | size_t total_len) |
430 | { | 430 | { |
431 | struct sock *sk = sock->sk; | 431 | struct sock *sk = sock->sk; |
432 | 432 | ||
433 | if (pn_socket_autobind(sock)) | 433 | if (pn_socket_autobind(sock)) |
434 | return -EAGAIN; | 434 | return -EAGAIN; |
435 | 435 | ||
436 | return sk->sk_prot->sendmsg(iocb, sk, m, total_len); | 436 | return sk->sk_prot->sendmsg(sk, m, total_len); |
437 | } | 437 | } |
438 | 438 | ||
439 | const struct proto_ops phonet_dgram_ops = { | 439 | const struct proto_ops phonet_dgram_ops = { |
diff --git a/net/rds/rds.h b/net/rds/rds.h index c2a5eef41343..c3f2855c3d84 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h | |||
@@ -702,8 +702,8 @@ void rds_inc_init(struct rds_incoming *inc, struct rds_connection *conn, | |||
702 | void rds_inc_put(struct rds_incoming *inc); | 702 | void rds_inc_put(struct rds_incoming *inc); |
703 | void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr, | 703 | void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr, |
704 | struct rds_incoming *inc, gfp_t gfp); | 704 | struct rds_incoming *inc, gfp_t gfp); |
705 | int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 705 | int rds_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
706 | size_t size, int msg_flags); | 706 | int msg_flags); |
707 | void rds_clear_recv_queue(struct rds_sock *rs); | 707 | void rds_clear_recv_queue(struct rds_sock *rs); |
708 | int rds_notify_queue_get(struct rds_sock *rs, struct msghdr *msg); | 708 | int rds_notify_queue_get(struct rds_sock *rs, struct msghdr *msg); |
709 | void rds_inc_info_copy(struct rds_incoming *inc, | 709 | void rds_inc_info_copy(struct rds_incoming *inc, |
@@ -711,8 +711,7 @@ void rds_inc_info_copy(struct rds_incoming *inc, | |||
711 | __be32 saddr, __be32 daddr, int flip); | 711 | __be32 saddr, __be32 daddr, int flip); |
712 | 712 | ||
713 | /* send.c */ | 713 | /* send.c */ |
714 | int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 714 | int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len); |
715 | size_t payload_len); | ||
716 | void rds_send_reset(struct rds_connection *conn); | 715 | void rds_send_reset(struct rds_connection *conn); |
717 | int rds_send_xmit(struct rds_connection *conn); | 716 | int rds_send_xmit(struct rds_connection *conn); |
718 | struct sockaddr_in; | 717 | struct sockaddr_in; |
diff --git a/net/rds/recv.c b/net/rds/recv.c index f9ec1acd801c..a00462b0d01d 100644 --- a/net/rds/recv.c +++ b/net/rds/recv.c | |||
@@ -395,8 +395,8 @@ static int rds_cmsg_recv(struct rds_incoming *inc, struct msghdr *msg) | |||
395 | return 0; | 395 | return 0; |
396 | } | 396 | } |
397 | 397 | ||
398 | int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 398 | int rds_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
399 | size_t size, int msg_flags) | 399 | int msg_flags) |
400 | { | 400 | { |
401 | struct sock *sk = sock->sk; | 401 | struct sock *sk = sock->sk; |
402 | struct rds_sock *rs = rds_sk_to_rs(sk); | 402 | struct rds_sock *rs = rds_sk_to_rs(sk); |
diff --git a/net/rds/send.c b/net/rds/send.c index 42f65d4305c8..44672befc0ee 100644 --- a/net/rds/send.c +++ b/net/rds/send.c | |||
@@ -920,8 +920,7 @@ static int rds_cmsg_send(struct rds_sock *rs, struct rds_message *rm, | |||
920 | return ret; | 920 | return ret; |
921 | } | 921 | } |
922 | 922 | ||
923 | int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 923 | int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len) |
924 | size_t payload_len) | ||
925 | { | 924 | { |
926 | struct sock *sk = sock->sk; | 925 | struct sock *sk = sock->sk; |
927 | struct rds_sock *rs = rds_sk_to_rs(sk); | 926 | struct rds_sock *rs = rds_sk_to_rs(sk); |
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index 43bac7c4dd9e..8ae603069a1a 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c | |||
@@ -1046,8 +1046,7 @@ int rose_rx_call_request(struct sk_buff *skb, struct net_device *dev, struct ros | |||
1046 | return 1; | 1046 | return 1; |
1047 | } | 1047 | } |
1048 | 1048 | ||
1049 | static int rose_sendmsg(struct kiocb *iocb, struct socket *sock, | 1049 | static int rose_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
1050 | struct msghdr *msg, size_t len) | ||
1051 | { | 1050 | { |
1052 | struct sock *sk = sock->sk; | 1051 | struct sock *sk = sock->sk; |
1053 | struct rose_sock *rose = rose_sk(sk); | 1052 | struct rose_sock *rose = rose_sk(sk); |
@@ -1211,8 +1210,8 @@ static int rose_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
1211 | } | 1210 | } |
1212 | 1211 | ||
1213 | 1212 | ||
1214 | static int rose_recvmsg(struct kiocb *iocb, struct socket *sock, | 1213 | static int rose_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1215 | struct msghdr *msg, size_t size, int flags) | 1214 | int flags) |
1216 | { | 1215 | { |
1217 | struct sock *sk = sock->sk; | 1216 | struct sock *sk = sock->sk; |
1218 | struct rose_sock *rose = rose_sk(sk); | 1217 | struct rose_sock *rose = rose_sk(sk); |
diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c index 7b1670489638..0095b9a0b779 100644 --- a/net/rxrpc/af_rxrpc.c +++ b/net/rxrpc/af_rxrpc.c | |||
@@ -441,8 +441,7 @@ static int rxrpc_connect(struct socket *sock, struct sockaddr *addr, | |||
441 | * - sends a call data packet | 441 | * - sends a call data packet |
442 | * - may send an abort (abort code in control data) | 442 | * - may send an abort (abort code in control data) |
443 | */ | 443 | */ |
444 | static int rxrpc_sendmsg(struct kiocb *iocb, struct socket *sock, | 444 | static int rxrpc_sendmsg(struct socket *sock, struct msghdr *m, size_t len) |
445 | struct msghdr *m, size_t len) | ||
446 | { | 445 | { |
447 | struct rxrpc_transport *trans; | 446 | struct rxrpc_transport *trans; |
448 | struct rxrpc_sock *rx = rxrpc_sk(sock->sk); | 447 | struct rxrpc_sock *rx = rxrpc_sk(sock->sk); |
@@ -482,7 +481,7 @@ static int rxrpc_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
482 | switch (rx->sk.sk_state) { | 481 | switch (rx->sk.sk_state) { |
483 | case RXRPC_SERVER_LISTENING: | 482 | case RXRPC_SERVER_LISTENING: |
484 | if (!m->msg_name) { | 483 | if (!m->msg_name) { |
485 | ret = rxrpc_server_sendmsg(iocb, rx, m, len); | 484 | ret = rxrpc_server_sendmsg(rx, m, len); |
486 | break; | 485 | break; |
487 | } | 486 | } |
488 | case RXRPC_SERVER_BOUND: | 487 | case RXRPC_SERVER_BOUND: |
@@ -492,7 +491,7 @@ static int rxrpc_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
492 | break; | 491 | break; |
493 | } | 492 | } |
494 | case RXRPC_CLIENT_CONNECTED: | 493 | case RXRPC_CLIENT_CONNECTED: |
495 | ret = rxrpc_client_sendmsg(iocb, rx, trans, m, len); | 494 | ret = rxrpc_client_sendmsg(rx, trans, m, len); |
496 | break; | 495 | break; |
497 | default: | 496 | default: |
498 | ret = -ENOTCONN; | 497 | ret = -ENOTCONN; |
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h index ba9fd36d3f15..2fc1e659e5c9 100644 --- a/net/rxrpc/ar-internal.h +++ b/net/rxrpc/ar-internal.h | |||
@@ -548,10 +548,9 @@ int rxrpc_get_server_data_key(struct rxrpc_connection *, const void *, time_t, | |||
548 | extern unsigned rxrpc_resend_timeout; | 548 | extern unsigned rxrpc_resend_timeout; |
549 | 549 | ||
550 | int rxrpc_send_packet(struct rxrpc_transport *, struct sk_buff *); | 550 | int rxrpc_send_packet(struct rxrpc_transport *, struct sk_buff *); |
551 | int rxrpc_client_sendmsg(struct kiocb *, struct rxrpc_sock *, | 551 | int rxrpc_client_sendmsg(struct rxrpc_sock *, struct rxrpc_transport *, |
552 | struct rxrpc_transport *, struct msghdr *, size_t); | 552 | struct msghdr *, size_t); |
553 | int rxrpc_server_sendmsg(struct kiocb *, struct rxrpc_sock *, struct msghdr *, | 553 | int rxrpc_server_sendmsg(struct rxrpc_sock *, struct msghdr *, size_t); |
554 | size_t); | ||
555 | 554 | ||
556 | /* | 555 | /* |
557 | * ar-peer.c | 556 | * ar-peer.c |
@@ -572,8 +571,7 @@ extern const struct file_operations rxrpc_connection_seq_fops; | |||
572 | * ar-recvmsg.c | 571 | * ar-recvmsg.c |
573 | */ | 572 | */ |
574 | void rxrpc_remove_user_ID(struct rxrpc_sock *, struct rxrpc_call *); | 573 | void rxrpc_remove_user_ID(struct rxrpc_sock *, struct rxrpc_call *); |
575 | int rxrpc_recvmsg(struct kiocb *, struct socket *, struct msghdr *, size_t, | 574 | int rxrpc_recvmsg(struct socket *, struct msghdr *, size_t, int); |
576 | int); | ||
577 | 575 | ||
578 | /* | 576 | /* |
579 | * ar-security.c | 577 | * ar-security.c |
diff --git a/net/rxrpc/ar-output.c b/net/rxrpc/ar-output.c index 8331c95e1522..09f584566e23 100644 --- a/net/rxrpc/ar-output.c +++ b/net/rxrpc/ar-output.c | |||
@@ -23,8 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | unsigned rxrpc_resend_timeout = 4 * HZ; | 24 | unsigned rxrpc_resend_timeout = 4 * HZ; |
25 | 25 | ||
26 | static int rxrpc_send_data(struct kiocb *iocb, | 26 | static int rxrpc_send_data(struct rxrpc_sock *rx, |
27 | struct rxrpc_sock *rx, | ||
28 | struct rxrpc_call *call, | 27 | struct rxrpc_call *call, |
29 | struct msghdr *msg, size_t len); | 28 | struct msghdr *msg, size_t len); |
30 | 29 | ||
@@ -129,9 +128,8 @@ static void rxrpc_send_abort(struct rxrpc_call *call, u32 abort_code) | |||
129 | * - caller holds the socket locked | 128 | * - caller holds the socket locked |
130 | * - the socket may be either a client socket or a server socket | 129 | * - the socket may be either a client socket or a server socket |
131 | */ | 130 | */ |
132 | int rxrpc_client_sendmsg(struct kiocb *iocb, struct rxrpc_sock *rx, | 131 | int rxrpc_client_sendmsg(struct rxrpc_sock *rx, struct rxrpc_transport *trans, |
133 | struct rxrpc_transport *trans, struct msghdr *msg, | 132 | struct msghdr *msg, size_t len) |
134 | size_t len) | ||
135 | { | 133 | { |
136 | struct rxrpc_conn_bundle *bundle; | 134 | struct rxrpc_conn_bundle *bundle; |
137 | enum rxrpc_command cmd; | 135 | enum rxrpc_command cmd; |
@@ -191,7 +189,7 @@ int rxrpc_client_sendmsg(struct kiocb *iocb, struct rxrpc_sock *rx, | |||
191 | /* request phase complete for this client call */ | 189 | /* request phase complete for this client call */ |
192 | ret = -EPROTO; | 190 | ret = -EPROTO; |
193 | } else { | 191 | } else { |
194 | ret = rxrpc_send_data(iocb, rx, call, msg, len); | 192 | ret = rxrpc_send_data(rx, call, msg, len); |
195 | } | 193 | } |
196 | 194 | ||
197 | rxrpc_put_call(call); | 195 | rxrpc_put_call(call); |
@@ -232,7 +230,7 @@ int rxrpc_kernel_send_data(struct rxrpc_call *call, struct msghdr *msg, | |||
232 | call->state != RXRPC_CALL_SERVER_SEND_REPLY) { | 230 | call->state != RXRPC_CALL_SERVER_SEND_REPLY) { |
233 | ret = -EPROTO; /* request phase complete for this client call */ | 231 | ret = -EPROTO; /* request phase complete for this client call */ |
234 | } else { | 232 | } else { |
235 | ret = rxrpc_send_data(NULL, call->socket, call, msg, len); | 233 | ret = rxrpc_send_data(call->socket, call, msg, len); |
236 | } | 234 | } |
237 | 235 | ||
238 | release_sock(&call->socket->sk); | 236 | release_sock(&call->socket->sk); |
@@ -271,8 +269,7 @@ EXPORT_SYMBOL(rxrpc_kernel_abort_call); | |||
271 | * send a message through a server socket | 269 | * send a message through a server socket |
272 | * - caller holds the socket locked | 270 | * - caller holds the socket locked |
273 | */ | 271 | */ |
274 | int rxrpc_server_sendmsg(struct kiocb *iocb, struct rxrpc_sock *rx, | 272 | int rxrpc_server_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len) |
275 | struct msghdr *msg, size_t len) | ||
276 | { | 273 | { |
277 | enum rxrpc_command cmd; | 274 | enum rxrpc_command cmd; |
278 | struct rxrpc_call *call; | 275 | struct rxrpc_call *call; |
@@ -313,7 +310,7 @@ int rxrpc_server_sendmsg(struct kiocb *iocb, struct rxrpc_sock *rx, | |||
313 | break; | 310 | break; |
314 | } | 311 | } |
315 | 312 | ||
316 | ret = rxrpc_send_data(iocb, rx, call, msg, len); | 313 | ret = rxrpc_send_data(rx, call, msg, len); |
317 | break; | 314 | break; |
318 | 315 | ||
319 | case RXRPC_CMD_SEND_ABORT: | 316 | case RXRPC_CMD_SEND_ABORT: |
@@ -520,8 +517,7 @@ static void rxrpc_queue_packet(struct rxrpc_call *call, struct sk_buff *skb, | |||
520 | * - must be called in process context | 517 | * - must be called in process context |
521 | * - caller holds the socket locked | 518 | * - caller holds the socket locked |
522 | */ | 519 | */ |
523 | static int rxrpc_send_data(struct kiocb *iocb, | 520 | static int rxrpc_send_data(struct rxrpc_sock *rx, |
524 | struct rxrpc_sock *rx, | ||
525 | struct rxrpc_call *call, | 521 | struct rxrpc_call *call, |
526 | struct msghdr *msg, size_t len) | 522 | struct msghdr *msg, size_t len) |
527 | { | 523 | { |
diff --git a/net/rxrpc/ar-recvmsg.c b/net/rxrpc/ar-recvmsg.c index d58ba702bd2c..a4f883e2d66f 100644 --- a/net/rxrpc/ar-recvmsg.c +++ b/net/rxrpc/ar-recvmsg.c | |||
@@ -43,8 +43,8 @@ void rxrpc_remove_user_ID(struct rxrpc_sock *rx, struct rxrpc_call *call) | |||
43 | * - we need to be careful about two or more threads calling recvmsg | 43 | * - we need to be careful about two or more threads calling recvmsg |
44 | * simultaneously | 44 | * simultaneously |
45 | */ | 45 | */ |
46 | int rxrpc_recvmsg(struct kiocb *iocb, struct socket *sock, | 46 | int rxrpc_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
47 | struct msghdr *msg, size_t len, int flags) | 47 | int flags) |
48 | { | 48 | { |
49 | struct rxrpc_skb_priv *sp; | 49 | struct rxrpc_skb_priv *sp; |
50 | struct rxrpc_call *call = NULL, *continue_call = NULL; | 50 | struct rxrpc_call *call = NULL, *continue_call = NULL; |
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index aafe94bf292e..f1a65398f311 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -1586,8 +1586,7 @@ static int sctp_error(struct sock *sk, int flags, int err) | |||
1586 | 1586 | ||
1587 | static int sctp_msghdr_parse(const struct msghdr *, sctp_cmsgs_t *); | 1587 | static int sctp_msghdr_parse(const struct msghdr *, sctp_cmsgs_t *); |
1588 | 1588 | ||
1589 | static int sctp_sendmsg(struct kiocb *iocb, struct sock *sk, | 1589 | static int sctp_sendmsg(struct sock *sk, struct msghdr *msg, size_t msg_len) |
1590 | struct msghdr *msg, size_t msg_len) | ||
1591 | { | 1590 | { |
1592 | struct net *net = sock_net(sk); | 1591 | struct net *net = sock_net(sk); |
1593 | struct sctp_sock *sp; | 1592 | struct sctp_sock *sp; |
@@ -2066,9 +2065,8 @@ static int sctp_skb_pull(struct sk_buff *skb, int len) | |||
2066 | * flags - flags sent or received with the user message, see Section | 2065 | * flags - flags sent or received with the user message, see Section |
2067 | * 5 for complete description of the flags. | 2066 | * 5 for complete description of the flags. |
2068 | */ | 2067 | */ |
2069 | static int sctp_recvmsg(struct kiocb *iocb, struct sock *sk, | 2068 | static int sctp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
2070 | struct msghdr *msg, size_t len, int noblock, | 2069 | int noblock, int flags, int *addr_len) |
2071 | int flags, int *addr_len) | ||
2072 | { | 2070 | { |
2073 | struct sctp_ulpevent *event = NULL; | 2071 | struct sctp_ulpevent *event = NULL; |
2074 | struct sctp_sock *sp = sctp_sk(sk); | 2072 | struct sctp_sock *sp = sctp_sk(sk); |
diff --git a/net/socket.c b/net/socket.c index b78cf601a021..95d3085cb477 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -610,45 +610,20 @@ void __sock_tx_timestamp(const struct sock *sk, __u8 *tx_flags) | |||
610 | } | 610 | } |
611 | EXPORT_SYMBOL(__sock_tx_timestamp); | 611 | EXPORT_SYMBOL(__sock_tx_timestamp); |
612 | 612 | ||
613 | static inline int __sock_sendmsg_nosec(struct kiocb *iocb, struct socket *sock, | 613 | static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg, |
614 | struct msghdr *msg, size_t size) | 614 | size_t size) |
615 | { | 615 | { |
616 | return sock->ops->sendmsg(iocb, sock, msg, size); | 616 | return sock->ops->sendmsg(sock, msg, size); |
617 | } | 617 | } |
618 | 618 | ||
619 | static inline int __sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 619 | int sock_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) |
620 | struct msghdr *msg, size_t size) | ||
621 | { | 620 | { |
622 | int err = security_socket_sendmsg(sock, msg, size); | 621 | int err = security_socket_sendmsg(sock, msg, size); |
623 | 622 | ||
624 | return err ?: __sock_sendmsg_nosec(iocb, sock, msg, size); | 623 | return err ?: sock_sendmsg_nosec(sock, msg, size); |
625 | } | ||
626 | |||
627 | static int do_sock_sendmsg(struct socket *sock, struct msghdr *msg, | ||
628 | size_t size, bool nosec) | ||
629 | { | ||
630 | struct kiocb iocb; | ||
631 | int ret; | ||
632 | |||
633 | init_sync_kiocb(&iocb, NULL); | ||
634 | ret = nosec ? __sock_sendmsg_nosec(&iocb, sock, msg, size) : | ||
635 | __sock_sendmsg(&iocb, sock, msg, size); | ||
636 | if (-EIOCBQUEUED == ret) | ||
637 | ret = wait_on_sync_kiocb(&iocb); | ||
638 | return ret; | ||
639 | } | ||
640 | |||
641 | int sock_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) | ||
642 | { | ||
643 | return do_sock_sendmsg(sock, msg, size, false); | ||
644 | } | 624 | } |
645 | EXPORT_SYMBOL(sock_sendmsg); | 625 | EXPORT_SYMBOL(sock_sendmsg); |
646 | 626 | ||
647 | static int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg, size_t size) | ||
648 | { | ||
649 | return do_sock_sendmsg(sock, msg, size, true); | ||
650 | } | ||
651 | |||
652 | int kernel_sendmsg(struct socket *sock, struct msghdr *msg, | 627 | int kernel_sendmsg(struct socket *sock, struct msghdr *msg, |
653 | struct kvec *vec, size_t num, size_t size) | 628 | struct kvec *vec, size_t num, size_t size) |
654 | { | 629 | { |
@@ -744,47 +719,21 @@ void __sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk, | |||
744 | } | 719 | } |
745 | EXPORT_SYMBOL_GPL(__sock_recv_ts_and_drops); | 720 | EXPORT_SYMBOL_GPL(__sock_recv_ts_and_drops); |
746 | 721 | ||
747 | static inline int __sock_recvmsg_nosec(struct kiocb *iocb, struct socket *sock, | 722 | static inline int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg, |
748 | struct msghdr *msg, size_t size, int flags) | 723 | size_t size, int flags) |
749 | { | 724 | { |
750 | return sock->ops->recvmsg(iocb, sock, msg, size, flags); | 725 | return sock->ops->recvmsg(sock, msg, size, flags); |
751 | } | 726 | } |
752 | 727 | ||
753 | static inline int __sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 728 | int sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
754 | struct msghdr *msg, size_t size, int flags) | 729 | int flags) |
755 | { | 730 | { |
756 | int err = security_socket_recvmsg(sock, msg, size, flags); | 731 | int err = security_socket_recvmsg(sock, msg, size, flags); |
757 | 732 | ||
758 | return err ?: __sock_recvmsg_nosec(iocb, sock, msg, size, flags); | 733 | return err ?: sock_recvmsg_nosec(sock, msg, size, flags); |
759 | } | ||
760 | |||
761 | int sock_recvmsg(struct socket *sock, struct msghdr *msg, | ||
762 | size_t size, int flags) | ||
763 | { | ||
764 | struct kiocb iocb; | ||
765 | int ret; | ||
766 | |||
767 | init_sync_kiocb(&iocb, NULL); | ||
768 | ret = __sock_recvmsg(&iocb, sock, msg, size, flags); | ||
769 | if (-EIOCBQUEUED == ret) | ||
770 | ret = wait_on_sync_kiocb(&iocb); | ||
771 | return ret; | ||
772 | } | 734 | } |
773 | EXPORT_SYMBOL(sock_recvmsg); | 735 | EXPORT_SYMBOL(sock_recvmsg); |
774 | 736 | ||
775 | static int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg, | ||
776 | size_t size, int flags) | ||
777 | { | ||
778 | struct kiocb iocb; | ||
779 | int ret; | ||
780 | |||
781 | init_sync_kiocb(&iocb, NULL); | ||
782 | ret = __sock_recvmsg_nosec(&iocb, sock, msg, size, flags); | ||
783 | if (-EIOCBQUEUED == ret) | ||
784 | ret = wait_on_sync_kiocb(&iocb); | ||
785 | return ret; | ||
786 | } | ||
787 | |||
788 | /** | 737 | /** |
789 | * kernel_recvmsg - Receive a message from a socket (kernel space) | 738 | * kernel_recvmsg - Receive a message from a socket (kernel space) |
790 | * @sock: The socket to receive the message from | 739 | * @sock: The socket to receive the message from |
@@ -861,8 +810,7 @@ static ssize_t sock_read_iter(struct kiocb *iocb, struct iov_iter *to) | |||
861 | if (iocb->ki_nbytes == 0) /* Match SYS5 behaviour */ | 810 | if (iocb->ki_nbytes == 0) /* Match SYS5 behaviour */ |
862 | return 0; | 811 | return 0; |
863 | 812 | ||
864 | res = __sock_recvmsg(iocb, sock, &msg, | 813 | res = sock_recvmsg(sock, &msg, iocb->ki_nbytes, msg.msg_flags); |
865 | iocb->ki_nbytes, msg.msg_flags); | ||
866 | *to = msg.msg_iter; | 814 | *to = msg.msg_iter; |
867 | return res; | 815 | return res; |
868 | } | 816 | } |
@@ -883,7 +831,7 @@ static ssize_t sock_write_iter(struct kiocb *iocb, struct iov_iter *from) | |||
883 | if (sock->type == SOCK_SEQPACKET) | 831 | if (sock->type == SOCK_SEQPACKET) |
884 | msg.msg_flags |= MSG_EOR; | 832 | msg.msg_flags |= MSG_EOR; |
885 | 833 | ||
886 | res = __sock_sendmsg(iocb, sock, &msg, iocb->ki_nbytes); | 834 | res = sock_sendmsg(sock, &msg, iocb->ki_nbytes); |
887 | *from = msg.msg_iter; | 835 | *from = msg.msg_iter; |
888 | return res; | 836 | return res; |
889 | } | 837 | } |
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index c245ec31fa4c..dcb797c60806 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c | |||
@@ -895,7 +895,6 @@ static int tipc_wait_for_sndmsg(struct socket *sock, long *timeo_p) | |||
895 | 895 | ||
896 | /** | 896 | /** |
897 | * tipc_sendmsg - send message in connectionless manner | 897 | * tipc_sendmsg - send message in connectionless manner |
898 | * @iocb: if NULL, indicates that socket lock is already held | ||
899 | * @sock: socket structure | 898 | * @sock: socket structure |
900 | * @m: message to send | 899 | * @m: message to send |
901 | * @dsz: amount of user data to be sent | 900 | * @dsz: amount of user data to be sent |
@@ -907,7 +906,7 @@ static int tipc_wait_for_sndmsg(struct socket *sock, long *timeo_p) | |||
907 | * | 906 | * |
908 | * Returns the number of bytes sent on success, or errno otherwise | 907 | * Returns the number of bytes sent on success, or errno otherwise |
909 | */ | 908 | */ |
910 | static int tipc_sendmsg(struct kiocb *iocb, struct socket *sock, | 909 | static int tipc_sendmsg(struct socket *sock, |
911 | struct msghdr *m, size_t dsz) | 910 | struct msghdr *m, size_t dsz) |
912 | { | 911 | { |
913 | struct sock *sk = sock->sk; | 912 | struct sock *sk = sock->sk; |
@@ -1052,7 +1051,6 @@ static int tipc_wait_for_sndpkt(struct socket *sock, long *timeo_p) | |||
1052 | 1051 | ||
1053 | /** | 1052 | /** |
1054 | * tipc_send_stream - send stream-oriented data | 1053 | * tipc_send_stream - send stream-oriented data |
1055 | * @iocb: (unused) | ||
1056 | * @sock: socket structure | 1054 | * @sock: socket structure |
1057 | * @m: data to send | 1055 | * @m: data to send |
1058 | * @dsz: total length of data to be transmitted | 1056 | * @dsz: total length of data to be transmitted |
@@ -1062,8 +1060,7 @@ static int tipc_wait_for_sndpkt(struct socket *sock, long *timeo_p) | |||
1062 | * Returns the number of bytes sent on success (or partial success), | 1060 | * Returns the number of bytes sent on success (or partial success), |
1063 | * or errno if no data sent | 1061 | * or errno if no data sent |
1064 | */ | 1062 | */ |
1065 | static int tipc_send_stream(struct kiocb *iocb, struct socket *sock, | 1063 | static int tipc_send_stream(struct socket *sock, struct msghdr *m, size_t dsz) |
1066 | struct msghdr *m, size_t dsz) | ||
1067 | { | 1064 | { |
1068 | struct sock *sk = sock->sk; | 1065 | struct sock *sk = sock->sk; |
1069 | int ret; | 1066 | int ret; |
@@ -1147,7 +1144,6 @@ next: | |||
1147 | 1144 | ||
1148 | /** | 1145 | /** |
1149 | * tipc_send_packet - send a connection-oriented message | 1146 | * tipc_send_packet - send a connection-oriented message |
1150 | * @iocb: if NULL, indicates that socket lock is already held | ||
1151 | * @sock: socket structure | 1147 | * @sock: socket structure |
1152 | * @m: message to send | 1148 | * @m: message to send |
1153 | * @dsz: length of data to be transmitted | 1149 | * @dsz: length of data to be transmitted |
@@ -1156,13 +1152,12 @@ next: | |||
1156 | * | 1152 | * |
1157 | * Returns the number of bytes sent on success, or errno otherwise | 1153 | * Returns the number of bytes sent on success, or errno otherwise |
1158 | */ | 1154 | */ |
1159 | static int tipc_send_packet(struct kiocb *iocb, struct socket *sock, | 1155 | static int tipc_send_packet(struct socket *sock, struct msghdr *m, size_t dsz) |
1160 | struct msghdr *m, size_t dsz) | ||
1161 | { | 1156 | { |
1162 | if (dsz > TIPC_MAX_USER_MSG_SIZE) | 1157 | if (dsz > TIPC_MAX_USER_MSG_SIZE) |
1163 | return -EMSGSIZE; | 1158 | return -EMSGSIZE; |
1164 | 1159 | ||
1165 | return tipc_send_stream(iocb, sock, m, dsz); | 1160 | return tipc_send_stream(sock, m, dsz); |
1166 | } | 1161 | } |
1167 | 1162 | ||
1168 | /* tipc_sk_finish_conn - complete the setup of a connection | 1163 | /* tipc_sk_finish_conn - complete the setup of a connection |
@@ -1337,7 +1332,6 @@ static int tipc_wait_for_rcvmsg(struct socket *sock, long *timeop) | |||
1337 | 1332 | ||
1338 | /** | 1333 | /** |
1339 | * tipc_recvmsg - receive packet-oriented message | 1334 | * tipc_recvmsg - receive packet-oriented message |
1340 | * @iocb: (unused) | ||
1341 | * @m: descriptor for message info | 1335 | * @m: descriptor for message info |
1342 | * @buf_len: total size of user buffer area | 1336 | * @buf_len: total size of user buffer area |
1343 | * @flags: receive flags | 1337 | * @flags: receive flags |
@@ -1347,8 +1341,8 @@ static int tipc_wait_for_rcvmsg(struct socket *sock, long *timeop) | |||
1347 | * | 1341 | * |
1348 | * Returns size of returned message data, errno otherwise | 1342 | * Returns size of returned message data, errno otherwise |
1349 | */ | 1343 | */ |
1350 | static int tipc_recvmsg(struct kiocb *iocb, struct socket *sock, | 1344 | static int tipc_recvmsg(struct socket *sock, struct msghdr *m, size_t buf_len, |
1351 | struct msghdr *m, size_t buf_len, int flags) | 1345 | int flags) |
1352 | { | 1346 | { |
1353 | struct sock *sk = sock->sk; | 1347 | struct sock *sk = sock->sk; |
1354 | struct tipc_sock *tsk = tipc_sk(sk); | 1348 | struct tipc_sock *tsk = tipc_sk(sk); |
@@ -1432,7 +1426,6 @@ exit: | |||
1432 | 1426 | ||
1433 | /** | 1427 | /** |
1434 | * tipc_recv_stream - receive stream-oriented data | 1428 | * tipc_recv_stream - receive stream-oriented data |
1435 | * @iocb: (unused) | ||
1436 | * @m: descriptor for message info | 1429 | * @m: descriptor for message info |
1437 | * @buf_len: total size of user buffer area | 1430 | * @buf_len: total size of user buffer area |
1438 | * @flags: receive flags | 1431 | * @flags: receive flags |
@@ -1442,8 +1435,8 @@ exit: | |||
1442 | * | 1435 | * |
1443 | * Returns size of returned message data, errno otherwise | 1436 | * Returns size of returned message data, errno otherwise |
1444 | */ | 1437 | */ |
1445 | static int tipc_recv_stream(struct kiocb *iocb, struct socket *sock, | 1438 | static int tipc_recv_stream(struct socket *sock, struct msghdr *m, |
1446 | struct msghdr *m, size_t buf_len, int flags) | 1439 | size_t buf_len, int flags) |
1447 | { | 1440 | { |
1448 | struct sock *sk = sock->sk; | 1441 | struct sock *sk = sock->sk; |
1449 | struct tipc_sock *tsk = tipc_sk(sk); | 1442 | struct tipc_sock *tsk = tipc_sk(sk); |
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 526b6edab018..433f287ee548 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -516,20 +516,15 @@ static unsigned int unix_dgram_poll(struct file *, struct socket *, | |||
516 | poll_table *); | 516 | poll_table *); |
517 | static int unix_ioctl(struct socket *, unsigned int, unsigned long); | 517 | static int unix_ioctl(struct socket *, unsigned int, unsigned long); |
518 | static int unix_shutdown(struct socket *, int); | 518 | static int unix_shutdown(struct socket *, int); |
519 | static int unix_stream_sendmsg(struct kiocb *, struct socket *, | 519 | static int unix_stream_sendmsg(struct socket *, struct msghdr *, size_t); |
520 | struct msghdr *, size_t); | 520 | static int unix_stream_recvmsg(struct socket *, struct msghdr *, size_t, int); |
521 | static int unix_stream_recvmsg(struct kiocb *, struct socket *, | 521 | static int unix_dgram_sendmsg(struct socket *, struct msghdr *, size_t); |
522 | struct msghdr *, size_t, int); | 522 | static int unix_dgram_recvmsg(struct socket *, struct msghdr *, size_t, int); |
523 | static int unix_dgram_sendmsg(struct kiocb *, struct socket *, | ||
524 | struct msghdr *, size_t); | ||
525 | static int unix_dgram_recvmsg(struct kiocb *, struct socket *, | ||
526 | struct msghdr *, size_t, int); | ||
527 | static int unix_dgram_connect(struct socket *, struct sockaddr *, | 523 | static int unix_dgram_connect(struct socket *, struct sockaddr *, |
528 | int, int); | 524 | int, int); |
529 | static int unix_seqpacket_sendmsg(struct kiocb *, struct socket *, | 525 | static int unix_seqpacket_sendmsg(struct socket *, struct msghdr *, size_t); |
530 | struct msghdr *, size_t); | 526 | static int unix_seqpacket_recvmsg(struct socket *, struct msghdr *, size_t, |
531 | static int unix_seqpacket_recvmsg(struct kiocb *, struct socket *, | 527 | int); |
532 | struct msghdr *, size_t, int); | ||
533 | 528 | ||
534 | static int unix_set_peek_off(struct sock *sk, int val) | 529 | static int unix_set_peek_off(struct sock *sk, int val) |
535 | { | 530 | { |
@@ -1442,8 +1437,8 @@ static void maybe_add_creds(struct sk_buff *skb, const struct socket *sock, | |||
1442 | * Send AF_UNIX data. | 1437 | * Send AF_UNIX data. |
1443 | */ | 1438 | */ |
1444 | 1439 | ||
1445 | static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock, | 1440 | static int unix_dgram_sendmsg(struct socket *sock, struct msghdr *msg, |
1446 | struct msghdr *msg, size_t len) | 1441 | size_t len) |
1447 | { | 1442 | { |
1448 | struct sock *sk = sock->sk; | 1443 | struct sock *sk = sock->sk; |
1449 | struct net *net = sock_net(sk); | 1444 | struct net *net = sock_net(sk); |
@@ -1622,8 +1617,8 @@ out: | |||
1622 | */ | 1617 | */ |
1623 | #define UNIX_SKB_FRAGS_SZ (PAGE_SIZE << get_order(32768)) | 1618 | #define UNIX_SKB_FRAGS_SZ (PAGE_SIZE << get_order(32768)) |
1624 | 1619 | ||
1625 | static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock, | 1620 | static int unix_stream_sendmsg(struct socket *sock, struct msghdr *msg, |
1626 | struct msghdr *msg, size_t len) | 1621 | size_t len) |
1627 | { | 1622 | { |
1628 | struct sock *sk = sock->sk; | 1623 | struct sock *sk = sock->sk; |
1629 | struct sock *other = NULL; | 1624 | struct sock *other = NULL; |
@@ -1725,8 +1720,8 @@ out_err: | |||
1725 | return sent ? : err; | 1720 | return sent ? : err; |
1726 | } | 1721 | } |
1727 | 1722 | ||
1728 | static int unix_seqpacket_sendmsg(struct kiocb *kiocb, struct socket *sock, | 1723 | static int unix_seqpacket_sendmsg(struct socket *sock, struct msghdr *msg, |
1729 | struct msghdr *msg, size_t len) | 1724 | size_t len) |
1730 | { | 1725 | { |
1731 | int err; | 1726 | int err; |
1732 | struct sock *sk = sock->sk; | 1727 | struct sock *sk = sock->sk; |
@@ -1741,19 +1736,18 @@ static int unix_seqpacket_sendmsg(struct kiocb *kiocb, struct socket *sock, | |||
1741 | if (msg->msg_namelen) | 1736 | if (msg->msg_namelen) |
1742 | msg->msg_namelen = 0; | 1737 | msg->msg_namelen = 0; |
1743 | 1738 | ||
1744 | return unix_dgram_sendmsg(kiocb, sock, msg, len); | 1739 | return unix_dgram_sendmsg(sock, msg, len); |
1745 | } | 1740 | } |
1746 | 1741 | ||
1747 | static int unix_seqpacket_recvmsg(struct kiocb *iocb, struct socket *sock, | 1742 | static int unix_seqpacket_recvmsg(struct socket *sock, struct msghdr *msg, |
1748 | struct msghdr *msg, size_t size, | 1743 | size_t size, int flags) |
1749 | int flags) | ||
1750 | { | 1744 | { |
1751 | struct sock *sk = sock->sk; | 1745 | struct sock *sk = sock->sk; |
1752 | 1746 | ||
1753 | if (sk->sk_state != TCP_ESTABLISHED) | 1747 | if (sk->sk_state != TCP_ESTABLISHED) |
1754 | return -ENOTCONN; | 1748 | return -ENOTCONN; |
1755 | 1749 | ||
1756 | return unix_dgram_recvmsg(iocb, sock, msg, size, flags); | 1750 | return unix_dgram_recvmsg(sock, msg, size, flags); |
1757 | } | 1751 | } |
1758 | 1752 | ||
1759 | static void unix_copy_addr(struct msghdr *msg, struct sock *sk) | 1753 | static void unix_copy_addr(struct msghdr *msg, struct sock *sk) |
@@ -1766,9 +1760,8 @@ static void unix_copy_addr(struct msghdr *msg, struct sock *sk) | |||
1766 | } | 1760 | } |
1767 | } | 1761 | } |
1768 | 1762 | ||
1769 | static int unix_dgram_recvmsg(struct kiocb *iocb, struct socket *sock, | 1763 | static int unix_dgram_recvmsg(struct socket *sock, struct msghdr *msg, |
1770 | struct msghdr *msg, size_t size, | 1764 | size_t size, int flags) |
1771 | int flags) | ||
1772 | { | 1765 | { |
1773 | struct scm_cookie scm; | 1766 | struct scm_cookie scm; |
1774 | struct sock *sk = sock->sk; | 1767 | struct sock *sk = sock->sk; |
@@ -1900,9 +1893,8 @@ static unsigned int unix_skb_len(const struct sk_buff *skb) | |||
1900 | return skb->len - UNIXCB(skb).consumed; | 1893 | return skb->len - UNIXCB(skb).consumed; |
1901 | } | 1894 | } |
1902 | 1895 | ||
1903 | static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock, | 1896 | static int unix_stream_recvmsg(struct socket *sock, struct msghdr *msg, |
1904 | struct msghdr *msg, size_t size, | 1897 | size_t size, int flags) |
1905 | int flags) | ||
1906 | { | 1898 | { |
1907 | struct scm_cookie scm; | 1899 | struct scm_cookie scm; |
1908 | struct sock *sk = sock->sk; | 1900 | struct sock *sk = sock->sk; |
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c index 1d0e39c9a3e2..2ec86e652a19 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c | |||
@@ -949,8 +949,8 @@ static unsigned int vsock_poll(struct file *file, struct socket *sock, | |||
949 | return mask; | 949 | return mask; |
950 | } | 950 | } |
951 | 951 | ||
952 | static int vsock_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock, | 952 | static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg, |
953 | struct msghdr *msg, size_t len) | 953 | size_t len) |
954 | { | 954 | { |
955 | int err; | 955 | int err; |
956 | struct sock *sk; | 956 | struct sock *sk; |
@@ -1062,11 +1062,10 @@ out: | |||
1062 | return err; | 1062 | return err; |
1063 | } | 1063 | } |
1064 | 1064 | ||
1065 | static int vsock_dgram_recvmsg(struct kiocb *kiocb, struct socket *sock, | 1065 | static int vsock_dgram_recvmsg(struct socket *sock, struct msghdr *msg, |
1066 | struct msghdr *msg, size_t len, int flags) | 1066 | size_t len, int flags) |
1067 | { | 1067 | { |
1068 | return transport->dgram_dequeue(kiocb, vsock_sk(sock->sk), msg, len, | 1068 | return transport->dgram_dequeue(vsock_sk(sock->sk), msg, len, flags); |
1069 | flags); | ||
1070 | } | 1069 | } |
1071 | 1070 | ||
1072 | static const struct proto_ops vsock_dgram_ops = { | 1071 | static const struct proto_ops vsock_dgram_ops = { |
@@ -1505,8 +1504,8 @@ static int vsock_stream_getsockopt(struct socket *sock, | |||
1505 | return 0; | 1504 | return 0; |
1506 | } | 1505 | } |
1507 | 1506 | ||
1508 | static int vsock_stream_sendmsg(struct kiocb *kiocb, struct socket *sock, | 1507 | static int vsock_stream_sendmsg(struct socket *sock, struct msghdr *msg, |
1509 | struct msghdr *msg, size_t len) | 1508 | size_t len) |
1510 | { | 1509 | { |
1511 | struct sock *sk; | 1510 | struct sock *sk; |
1512 | struct vsock_sock *vsk; | 1511 | struct vsock_sock *vsk; |
@@ -1644,9 +1643,8 @@ out: | |||
1644 | 1643 | ||
1645 | 1644 | ||
1646 | static int | 1645 | static int |
1647 | vsock_stream_recvmsg(struct kiocb *kiocb, | 1646 | vsock_stream_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, |
1648 | struct socket *sock, | 1647 | int flags) |
1649 | struct msghdr *msg, size_t len, int flags) | ||
1650 | { | 1648 | { |
1651 | struct sock *sk; | 1649 | struct sock *sk; |
1652 | struct vsock_sock *vsk; | 1650 | struct vsock_sock *vsk; |
diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c index 7f3255084a6c..c294da095461 100644 --- a/net/vmw_vsock/vmci_transport.c +++ b/net/vmw_vsock/vmci_transport.c | |||
@@ -1730,8 +1730,7 @@ static int vmci_transport_dgram_enqueue( | |||
1730 | return err - sizeof(*dg); | 1730 | return err - sizeof(*dg); |
1731 | } | 1731 | } |
1732 | 1732 | ||
1733 | static int vmci_transport_dgram_dequeue(struct kiocb *kiocb, | 1733 | static int vmci_transport_dgram_dequeue(struct vsock_sock *vsk, |
1734 | struct vsock_sock *vsk, | ||
1735 | struct msghdr *msg, size_t len, | 1734 | struct msghdr *msg, size_t len, |
1736 | int flags) | 1735 | int flags) |
1737 | { | 1736 | { |
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index d9149b68b9bc..c3ab230e4493 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c | |||
@@ -1077,8 +1077,7 @@ out_clear_request: | |||
1077 | goto out; | 1077 | goto out; |
1078 | } | 1078 | } |
1079 | 1079 | ||
1080 | static int x25_sendmsg(struct kiocb *iocb, struct socket *sock, | 1080 | static int x25_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) |
1081 | struct msghdr *msg, size_t len) | ||
1082 | { | 1081 | { |
1083 | struct sock *sk = sock->sk; | 1082 | struct sock *sk = sock->sk; |
1084 | struct x25_sock *x25 = x25_sk(sk); | 1083 | struct x25_sock *x25 = x25_sk(sk); |
@@ -1252,8 +1251,7 @@ out_kfree_skb: | |||
1252 | } | 1251 | } |
1253 | 1252 | ||
1254 | 1253 | ||
1255 | static int x25_recvmsg(struct kiocb *iocb, struct socket *sock, | 1254 | static int x25_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, |
1256 | struct msghdr *msg, size_t size, | ||
1257 | int flags) | 1255 | int flags) |
1258 | { | 1256 | { |
1259 | struct sock *sk = sock->sk; | 1257 | struct sock *sk = sock->sk; |