diff options
Diffstat (limited to 'net/tipc')
-rw-r--r-- | net/tipc/cluster.c | 16 | ||||
-rw-r--r-- | net/tipc/link.c | 12 | ||||
-rw-r--r-- | net/tipc/socket.c | 20 | ||||
-rw-r--r-- | net/tipc/subscr.c | 6 |
4 files changed, 27 insertions, 27 deletions
diff --git a/net/tipc/cluster.c b/net/tipc/cluster.c index 689fdefe9d04..a7eac00cd363 100644 --- a/net/tipc/cluster.c +++ b/net/tipc/cluster.c | |||
@@ -437,11 +437,11 @@ void tipc_cltr_recv_routing_table(struct sk_buff *buf) | |||
437 | break; | 437 | break; |
438 | case ROUTE_ADDITION: | 438 | case ROUTE_ADDITION: |
439 | if (!is_slave(tipc_own_addr)) { | 439 | if (!is_slave(tipc_own_addr)) { |
440 | assert(!in_own_cluster(c_ptr->addr) | 440 | assert(!in_own_cluster(c_ptr->addr) || |
441 | || is_slave(rem_node)); | 441 | is_slave(rem_node)); |
442 | } else { | 442 | } else { |
443 | assert(in_own_cluster(c_ptr->addr) | 443 | assert(in_own_cluster(c_ptr->addr) && |
444 | && !is_slave(rem_node)); | 444 | !is_slave(rem_node)); |
445 | } | 445 | } |
446 | n_ptr = c_ptr->nodes[tipc_node(rem_node)]; | 446 | n_ptr = c_ptr->nodes[tipc_node(rem_node)]; |
447 | if (!n_ptr) | 447 | if (!n_ptr) |
@@ -451,11 +451,11 @@ void tipc_cltr_recv_routing_table(struct sk_buff *buf) | |||
451 | break; | 451 | break; |
452 | case ROUTE_REMOVAL: | 452 | case ROUTE_REMOVAL: |
453 | if (!is_slave(tipc_own_addr)) { | 453 | if (!is_slave(tipc_own_addr)) { |
454 | assert(!in_own_cluster(c_ptr->addr) | 454 | assert(!in_own_cluster(c_ptr->addr) || |
455 | || is_slave(rem_node)); | 455 | is_slave(rem_node)); |
456 | } else { | 456 | } else { |
457 | assert(in_own_cluster(c_ptr->addr) | 457 | assert(in_own_cluster(c_ptr->addr) && |
458 | && !is_slave(rem_node)); | 458 | !is_slave(rem_node)); |
459 | } | 459 | } |
460 | n_ptr = c_ptr->nodes[tipc_node(rem_node)]; | 460 | n_ptr = c_ptr->nodes[tipc_node(rem_node)]; |
461 | if (n_ptr) | 461 | if (n_ptr) |
diff --git a/net/tipc/link.c b/net/tipc/link.c index dd4c18b9a35b..6f50f6423f63 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
@@ -378,8 +378,8 @@ static void link_timeout(struct link *l_ptr) | |||
378 | struct tipc_msg *msg = buf_msg(l_ptr->first_out); | 378 | struct tipc_msg *msg = buf_msg(l_ptr->first_out); |
379 | u32 length = msg_size(msg); | 379 | u32 length = msg_size(msg); |
380 | 380 | ||
381 | if ((msg_user(msg) == MSG_FRAGMENTER) | 381 | if ((msg_user(msg) == MSG_FRAGMENTER) && |
382 | && (msg_type(msg) == FIRST_FRAGMENT)) { | 382 | (msg_type(msg) == FIRST_FRAGMENT)) { |
383 | length = msg_size(msg_get_wrapped(msg)); | 383 | length = msg_size(msg_get_wrapped(msg)); |
384 | } | 384 | } |
385 | if (length) { | 385 | if (length) { |
@@ -2788,8 +2788,8 @@ int tipc_link_recv_fragment(struct sk_buff **pending, struct sk_buff **fb, | |||
2788 | 2788 | ||
2789 | /* Is there an incomplete message waiting for this fragment? */ | 2789 | /* Is there an incomplete message waiting for this fragment? */ |
2790 | 2790 | ||
2791 | while (pbuf && ((msg_seqno(buf_msg(pbuf)) != long_msg_seq_no) | 2791 | while (pbuf && ((msg_seqno(buf_msg(pbuf)) != long_msg_seq_no) || |
2792 | || (msg_orignode(fragm) != msg_orignode(buf_msg(pbuf))))) { | 2792 | (msg_orignode(fragm) != msg_orignode(buf_msg(pbuf))))) { |
2793 | prev = pbuf; | 2793 | prev = pbuf; |
2794 | pbuf = pbuf->next; | 2794 | pbuf = pbuf->next; |
2795 | } | 2795 | } |
@@ -3325,8 +3325,8 @@ static void link_print(struct link *l_ptr, struct print_buf *buf, | |||
3325 | (l_ptr->last_out)), l_ptr->out_queue_size); | 3325 | (l_ptr->last_out)), l_ptr->out_queue_size); |
3326 | if ((mod(msg_seqno(buf_msg(l_ptr->last_out)) - | 3326 | if ((mod(msg_seqno(buf_msg(l_ptr->last_out)) - |
3327 | msg_seqno(buf_msg(l_ptr->first_out))) | 3327 | msg_seqno(buf_msg(l_ptr->first_out))) |
3328 | != (l_ptr->out_queue_size - 1)) | 3328 | != (l_ptr->out_queue_size - 1)) || |
3329 | || (l_ptr->last_out->next != NULL)) { | 3329 | (l_ptr->last_out->next != NULL)) { |
3330 | tipc_printf(buf, "\nSend queue inconsistency\n"); | 3330 | tipc_printf(buf, "\nSend queue inconsistency\n"); |
3331 | tipc_printf(buf, "first_out= %x ", l_ptr->first_out); | 3331 | tipc_printf(buf, "first_out= %x ", l_ptr->first_out); |
3332 | tipc_printf(buf, "next_out= %x ", l_ptr->next_out); | 3332 | tipc_printf(buf, "next_out= %x ", l_ptr->next_out); |
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index e6d9abf7440e..1ea64f09cc45 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c | |||
@@ -177,6 +177,7 @@ static void reject_rx_queue(struct sock *sk) | |||
177 | * @net: network namespace (must be default network) | 177 | * @net: network namespace (must be default network) |
178 | * @sock: pre-allocated socket structure | 178 | * @sock: pre-allocated socket structure |
179 | * @protocol: protocol indicator (must be 0) | 179 | * @protocol: protocol indicator (must be 0) |
180 | * @kern: caused by kernel or by userspace? | ||
180 | * | 181 | * |
181 | * This routine creates additional data structures used by the TIPC socket, | 182 | * This routine creates additional data structures used by the TIPC socket, |
182 | * initializes them, and links them together. | 183 | * initializes them, and links them together. |
@@ -184,7 +185,8 @@ static void reject_rx_queue(struct sock *sk) | |||
184 | * Returns 0 on success, errno otherwise | 185 | * Returns 0 on success, errno otherwise |
185 | */ | 186 | */ |
186 | 187 | ||
187 | static int tipc_create(struct net *net, struct socket *sock, int protocol) | 188 | static int tipc_create(struct net *net, struct socket *sock, int protocol, |
189 | int kern) | ||
188 | { | 190 | { |
189 | const struct proto_ops *ops; | 191 | const struct proto_ops *ops; |
190 | socket_state state; | 192 | socket_state state; |
@@ -193,7 +195,7 @@ static int tipc_create(struct net *net, struct socket *sock, int protocol) | |||
193 | 195 | ||
194 | /* Validate arguments */ | 196 | /* Validate arguments */ |
195 | 197 | ||
196 | if (net != &init_net) | 198 | if (!net_eq(net, &init_net)) |
197 | return -EAFNOSUPPORT; | 199 | return -EAFNOSUPPORT; |
198 | 200 | ||
199 | if (unlikely(protocol != 0)) | 201 | if (unlikely(protocol != 0)) |
@@ -1134,13 +1136,11 @@ restart: | |||
1134 | 1136 | ||
1135 | /* Loop around if more data is required */ | 1137 | /* Loop around if more data is required */ |
1136 | 1138 | ||
1137 | if ((sz_copied < buf_len) /* didn't get all requested data */ | 1139 | if ((sz_copied < buf_len) && /* didn't get all requested data */ |
1138 | && (!skb_queue_empty(&sk->sk_receive_queue) || | 1140 | (!skb_queue_empty(&sk->sk_receive_queue) || |
1139 | (flags & MSG_WAITALL)) | 1141 | (flags & MSG_WAITALL)) && /* and more is ready or required */ |
1140 | /* ... and more is ready or required */ | 1142 | (!(flags & MSG_PEEK)) && /* and aren't just peeking at data */ |
1141 | && (!(flags & MSG_PEEK)) /* ... and aren't just peeking at data */ | 1143 | (!err)) /* and haven't reached a FIN */ |
1142 | && (!err) /* ... and haven't reached a FIN */ | ||
1143 | ) | ||
1144 | goto restart; | 1144 | goto restart; |
1145 | 1145 | ||
1146 | exit: | 1146 | exit: |
@@ -1528,7 +1528,7 @@ static int accept(struct socket *sock, struct socket *new_sock, int flags) | |||
1528 | 1528 | ||
1529 | buf = skb_peek(&sk->sk_receive_queue); | 1529 | buf = skb_peek(&sk->sk_receive_queue); |
1530 | 1530 | ||
1531 | res = tipc_create(sock_net(sock->sk), new_sock, 0); | 1531 | res = tipc_create(sock_net(sock->sk), new_sock, 0, 0); |
1532 | if (!res) { | 1532 | if (!res) { |
1533 | struct sock *new_sk = new_sock->sk; | 1533 | struct sock *new_sk = new_sock->sk; |
1534 | struct tipc_sock *new_tsock = tipc_sk(new_sk); | 1534 | struct tipc_sock *new_tsock = tipc_sk(new_sk); |
diff --git a/net/tipc/subscr.c b/net/tipc/subscr.c index 0747d8a9232f..ac91f0dfa144 100644 --- a/net/tipc/subscr.c +++ b/net/tipc/subscr.c | |||
@@ -364,9 +364,9 @@ static struct subscription *subscr_subscribe(struct tipc_subscr *s, | |||
364 | sub->seq.upper = htohl(s->seq.upper, swap); | 364 | sub->seq.upper = htohl(s->seq.upper, swap); |
365 | sub->timeout = htohl(s->timeout, swap); | 365 | sub->timeout = htohl(s->timeout, swap); |
366 | sub->filter = htohl(s->filter, swap); | 366 | sub->filter = htohl(s->filter, swap); |
367 | if ((!(sub->filter & TIPC_SUB_PORTS) | 367 | if ((!(sub->filter & TIPC_SUB_PORTS) == |
368 | == !(sub->filter & TIPC_SUB_SERVICE)) | 368 | !(sub->filter & TIPC_SUB_SERVICE)) || |
369 | || (sub->seq.lower > sub->seq.upper)) { | 369 | (sub->seq.lower > sub->seq.upper)) { |
370 | warn("Subscription rejected, illegal request\n"); | 370 | warn("Subscription rejected, illegal request\n"); |
371 | kfree(sub); | 371 | kfree(sub); |
372 | subscr_terminate(subscriber); | 372 | subscr_terminate(subscriber); |