From 39829da0b6def29f291eda6bc99de10b7311f089 Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Fri, 1 Feb 2013 04:37:43 +0000 Subject: [PATCH] --- yaml --- r: 352054 b: refs/heads/master c: 8c98653f05534acd1cb07ea4929702a3659177d1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/sctp/transport.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 42d42cda8d5a..3988bb300bfe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 72073ad2adacd2ed58a1dd98995342ca409a156e +refs/heads/master: 8c98653f05534acd1cb07ea4929702a3659177d1 diff --git a/trunk/net/sctp/transport.c b/trunk/net/sctp/transport.c index 4e45bb68aef0..ca5331cc1ed2 100644 --- a/trunk/net/sctp/transport.c +++ b/trunk/net/sctp/transport.c @@ -168,10 +168,6 @@ static void sctp_transport_destroy_rcu(struct rcu_head *head) struct sctp_transport *transport; transport = container_of(head, struct sctp_transport, rcu); - if (transport->asoc) - sctp_association_put(transport->asoc); - - sctp_packet_free(&transport->packet); dst_release(transport->dst); kfree(transport); @@ -186,6 +182,11 @@ static void sctp_transport_destroy(struct sctp_transport *transport) SCTP_ASSERT(transport->dead, "Transport is not dead", return); call_rcu(&transport->rcu, sctp_transport_destroy_rcu); + + sctp_packet_free(&transport->packet); + + if (transport->asoc) + sctp_association_put(transport->asoc); } /* Start T3_rtx timer if it is not already running and update the heartbeat