diff options
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r-- | net/tipc/socket.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 6cc7ddd2fb7c..3906527259d1 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) { |
@@ -1368,7 +1364,7 @@ static u32 filter_rcv(struct sock *sk, struct sk_buff *buf) | |||
1368 | return TIPC_ERR_OVERLOAD; | 1364 | return TIPC_ERR_OVERLOAD; |
1369 | 1365 | ||
1370 | /* Enqueue message */ | 1366 | /* Enqueue message */ |
1371 | TIPC_SKB_CB(buf)->handle = 0; | 1367 | TIPC_SKB_CB(buf)->handle = NULL; |
1372 | __skb_queue_tail(&sk->sk_receive_queue, buf); | 1368 | __skb_queue_tail(&sk->sk_receive_queue, buf); |
1373 | skb_set_owner_r(buf, sk); | 1369 | skb_set_owner_r(buf, sk); |
1374 | 1370 | ||
@@ -1691,7 +1687,7 @@ restart: | |||
1691 | /* Disconnect and send a 'FIN+' or 'FIN-' message to peer */ | 1687 | /* Disconnect and send a 'FIN+' or 'FIN-' message to peer */ |
1692 | buf = __skb_dequeue(&sk->sk_receive_queue); | 1688 | buf = __skb_dequeue(&sk->sk_receive_queue); |
1693 | if (buf) { | 1689 | if (buf) { |
1694 | if (TIPC_SKB_CB(buf)->handle != 0) { | 1690 | if (TIPC_SKB_CB(buf)->handle != NULL) { |
1695 | kfree_skb(buf); | 1691 | kfree_skb(buf); |
1696 | goto restart; | 1692 | goto restart; |
1697 | } | 1693 | } |