diff options
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r-- | net/tipc/socket.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 6cc7ddd2fb7c..3b61851bb927 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c | |||
@@ -338,7 +338,7 @@ static int release(struct socket *sock) | |||
338 | buf = __skb_dequeue(&sk->sk_receive_queue); | 338 | buf = __skb_dequeue(&sk->sk_receive_queue); |
339 | if (buf == NULL) | 339 | if (buf == NULL) |
340 | break; | 340 | break; |
341 | if (TIPC_SKB_CB(buf)->handle != 0) | 341 | if (TIPC_SKB_CB(buf)->handle != NULL) |
342 | kfree_skb(buf); | 342 | kfree_skb(buf); |
343 | else { | 343 | else { |
344 | if ((sock->state == SS_CONNECTING) || | 344 | if ((sock->state == SS_CONNECTING) || |
@@ -622,13 +622,11 @@ static int send_msg(struct kiocb *iocb, struct socket *sock, | |||
622 | res = tipc_send2name(tport->ref, | 622 | res = tipc_send2name(tport->ref, |
623 | &dest->addr.name.name, | 623 | &dest->addr.name.name, |
624 | dest->addr.name.domain, | 624 | dest->addr.name.domain, |
625 | m->msg_iovlen, | ||
626 | m->msg_iov, | 625 | m->msg_iov, |
627 | total_len); | 626 | total_len); |
628 | } else if (dest->addrtype == TIPC_ADDR_ID) { | 627 | } else if (dest->addrtype == TIPC_ADDR_ID) { |
629 | res = tipc_send2port(tport->ref, | 628 | res = tipc_send2port(tport->ref, |
630 | &dest->addr.id, | 629 | &dest->addr.id, |
631 | m->msg_iovlen, | ||
632 | m->msg_iov, | 630 | m->msg_iov, |
633 | total_len); | 631 | total_len); |
634 | } else if (dest->addrtype == TIPC_ADDR_MCAST) { | 632 | } else if (dest->addrtype == TIPC_ADDR_MCAST) { |
@@ -641,7 +639,6 @@ static int send_msg(struct kiocb *iocb, struct socket *sock, | |||
641 | break; | 639 | break; |
642 | res = tipc_multicast(tport->ref, | 640 | res = tipc_multicast(tport->ref, |
643 | &dest->addr.nameseq, | 641 | &dest->addr.nameseq, |
644 | m->msg_iovlen, | ||
645 | m->msg_iov, | 642 | m->msg_iov, |
646 | total_len); | 643 | total_len); |
647 | } | 644 | } |
@@ -707,8 +704,7 @@ static int send_packet(struct kiocb *iocb, struct socket *sock, | |||
707 | break; | 704 | break; |
708 | } | 705 | } |
709 | 706 | ||
710 | res = tipc_send(tport->ref, m->msg_iovlen, m->msg_iov, | 707 | res = tipc_send(tport->ref, m->msg_iov, total_len); |
711 | total_len); | ||
712 | if (likely(res != -ELINKCONG)) | 708 | if (likely(res != -ELINKCONG)) |
713 | break; | 709 | break; |
714 | if (timeout_val <= 0L) { | 710 | if (timeout_val <= 0L) { |
@@ -984,9 +980,6 @@ static int recv_msg(struct kiocb *iocb, struct socket *sock, | |||
984 | goto exit; | 980 | goto exit; |
985 | } | 981 | } |
986 | 982 | ||
987 | /* will be updated in set_orig_addr() if needed */ | ||
988 | m->msg_namelen = 0; | ||
989 | |||
990 | timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); | 983 | timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); |
991 | restart: | 984 | restart: |
992 | 985 | ||
@@ -1095,9 +1088,6 @@ static int recv_stream(struct kiocb *iocb, struct socket *sock, | |||
1095 | goto exit; | 1088 | goto exit; |
1096 | } | 1089 | } |
1097 | 1090 | ||
1098 | /* will be updated in set_orig_addr() if needed */ | ||
1099 | m->msg_namelen = 0; | ||
1100 | |||
1101 | target = sock_rcvlowat(sk, flags & MSG_WAITALL, buf_len); | 1091 | target = sock_rcvlowat(sk, flags & MSG_WAITALL, buf_len); |
1102 | timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); | 1092 | timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); |
1103 | 1093 | ||
@@ -1368,7 +1358,7 @@ static u32 filter_rcv(struct sock *sk, struct sk_buff *buf) | |||
1368 | return TIPC_ERR_OVERLOAD; | 1358 | return TIPC_ERR_OVERLOAD; |
1369 | 1359 | ||
1370 | /* Enqueue message */ | 1360 | /* Enqueue message */ |
1371 | TIPC_SKB_CB(buf)->handle = 0; | 1361 | TIPC_SKB_CB(buf)->handle = NULL; |
1372 | __skb_queue_tail(&sk->sk_receive_queue, buf); | 1362 | __skb_queue_tail(&sk->sk_receive_queue, buf); |
1373 | skb_set_owner_r(buf, sk); | 1363 | skb_set_owner_r(buf, sk); |
1374 | 1364 | ||
@@ -1691,7 +1681,7 @@ restart: | |||
1691 | /* Disconnect and send a 'FIN+' or 'FIN-' message to peer */ | 1681 | /* Disconnect and send a 'FIN+' or 'FIN-' message to peer */ |
1692 | buf = __skb_dequeue(&sk->sk_receive_queue); | 1682 | buf = __skb_dequeue(&sk->sk_receive_queue); |
1693 | if (buf) { | 1683 | if (buf) { |
1694 | if (TIPC_SKB_CB(buf)->handle != 0) { | 1684 | if (TIPC_SKB_CB(buf)->handle != NULL) { |
1695 | kfree_skb(buf); | 1685 | kfree_skb(buf); |
1696 | goto restart; | 1686 | goto restart; |
1697 | } | 1687 | } |