proto.c (f0cd91a68acdc9b49d7f6738b514a426da627649) proto.c (624d1164730d58a494cc5aa4afa37d02c41e83a7)
1/*
2 * net/dccp/proto.c
3 *
4 * An implementation of the DCCP protocol
5 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 as

--- 705 unchanged lines hidden (view full) ---

714 if (dh->dccph_type == DCCP_PKT_RESET ||
715 dh->dccph_type == DCCP_PKT_CLOSE) {
716 dccp_pr_debug("found fin ok!\n");
717 len = 0;
718 goto found_fin_ok;
719 }
720 dccp_pr_debug("packet_type=%s\n",
721 dccp_packet_name(dh->dccph_type));
1/*
2 * net/dccp/proto.c
3 *
4 * An implementation of the DCCP protocol
5 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 as

--- 705 unchanged lines hidden (view full) ---

714 if (dh->dccph_type == DCCP_PKT_RESET ||
715 dh->dccph_type == DCCP_PKT_CLOSE) {
716 dccp_pr_debug("found fin ok!\n");
717 len = 0;
718 goto found_fin_ok;
719 }
720 dccp_pr_debug("packet_type=%s\n",
721 dccp_packet_name(dh->dccph_type));
722 sk_eat_skb(sk, skb);
722 sk_eat_skb(sk, skb, 0);
723verify_sock_status:
724 if (sock_flag(sk, SOCK_DONE)) {
725 len = 0;
726 break;
727 }
728
729 if (sk->sk_err) {
730 len = sock_error(sk);

--- 37 unchanged lines hidden (view full) ---

768
769 if (skb_copy_datagram_iovec(skb, 0, msg->msg_iov, len)) {
770 /* Exception. Bailout! */
771 len = -EFAULT;
772 break;
773 }
774 found_fin_ok:
775 if (!(flags & MSG_PEEK))
723verify_sock_status:
724 if (sock_flag(sk, SOCK_DONE)) {
725 len = 0;
726 break;
727 }
728
729 if (sk->sk_err) {
730 len = sock_error(sk);

--- 37 unchanged lines hidden (view full) ---

768
769 if (skb_copy_datagram_iovec(skb, 0, msg->msg_iov, len)) {
770 /* Exception. Bailout! */
771 len = -EFAULT;
772 break;
773 }
774 found_fin_ok:
775 if (!(flags & MSG_PEEK))
776 sk_eat_skb(sk, skb);
776 sk_eat_skb(sk, skb, 0);
777 break;
778 } while (1);
779out:
780 release_sock(sk);
781 return len;
782}
783
784EXPORT_SYMBOL_GPL(dccp_recvmsg);

--- 323 unchanged lines hidden ---
777 break;
778 } while (1);
779out:
780 release_sock(sk);
781 return len;
782}
783
784EXPORT_SYMBOL_GPL(dccp_recvmsg);

--- 323 unchanged lines hidden ---