diff options
Diffstat (limited to 'net/tipc')
-rw-r--r-- | net/tipc/server.c | 3 | ||||
-rw-r--r-- | net/tipc/udp_media.c | 4 |
2 files changed, 2 insertions, 5 deletions
diff --git a/net/tipc/server.c b/net/tipc/server.c index acaef80fb88c..d60c30342327 100644 --- a/net/tipc/server.c +++ b/net/tipc/server.c | |||
@@ -314,6 +314,7 @@ static int tipc_accept_from_sock(struct tipc_conn *con) | |||
314 | newcon->usr_data = s->tipc_conn_new(newcon->conid); | 314 | newcon->usr_data = s->tipc_conn_new(newcon->conid); |
315 | if (!newcon->usr_data) { | 315 | if (!newcon->usr_data) { |
316 | sock_release(newsock); | 316 | sock_release(newsock); |
317 | conn_put(newcon); | ||
317 | return -ENOMEM; | 318 | return -ENOMEM; |
318 | } | 319 | } |
319 | 320 | ||
@@ -511,7 +512,7 @@ bool tipc_topsrv_kern_subscr(struct net *net, u32 port, u32 type, | |||
511 | s = con->server; | 512 | s = con->server; |
512 | scbr = s->tipc_conn_new(*conid); | 513 | scbr = s->tipc_conn_new(*conid); |
513 | if (!scbr) { | 514 | if (!scbr) { |
514 | tipc_close_conn(con); | 515 | conn_put(con); |
515 | return false; | 516 | return false; |
516 | } | 517 | } |
517 | 518 | ||
diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c index ecca64fc6a6f..3deabcab4882 100644 --- a/net/tipc/udp_media.c +++ b/net/tipc/udp_media.c | |||
@@ -371,10 +371,6 @@ static int tipc_udp_recv(struct sock *sk, struct sk_buff *skb) | |||
371 | goto rcu_out; | 371 | goto rcu_out; |
372 | } | 372 | } |
373 | 373 | ||
374 | tipc_rcv(sock_net(sk), skb, b); | ||
375 | rcu_read_unlock(); | ||
376 | return 0; | ||
377 | |||
378 | rcu_out: | 374 | rcu_out: |
379 | rcu_read_unlock(); | 375 | rcu_read_unlock(); |
380 | out: | 376 | out: |