diff options
| author | Jens Axboe <axboe@kernel.dk> | 2012-07-30 03:03:10 -0400 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2012-07-30 03:03:10 -0400 |
| commit | 72ea1f74fcdf874cca6d2c0962379523bbd99e2c (patch) | |
| tree | 4c67be6c73356086ff44ef1b8b1c9479702689ca /net/sctp/socket.c | |
| parent | b1af9be5ef77898c05667bb9dbf3b180d91d3292 (diff) | |
| parent | a73ff3231df59a4b92ccd0dd4e73897c5822489b (diff) | |
Merge branch 'for-jens' of git://git.drbd.org/linux-drbd into for-3.6/drivers
Diffstat (limited to 'net/sctp/socket.c')
| -rw-r--r-- | net/sctp/socket.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index b3b8a8d813eb..31c7bfcd9b58 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
| @@ -1231,8 +1231,14 @@ out_free: | |||
| 1231 | SCTP_DEBUG_PRINTK("About to exit __sctp_connect() free asoc: %p" | 1231 | SCTP_DEBUG_PRINTK("About to exit __sctp_connect() free asoc: %p" |
| 1232 | " kaddrs: %p err: %d\n", | 1232 | " kaddrs: %p err: %d\n", |
| 1233 | asoc, kaddrs, err); | 1233 | asoc, kaddrs, err); |
| 1234 | if (asoc) | 1234 | if (asoc) { |
| 1235 | /* sctp_primitive_ASSOCIATE may have added this association | ||
| 1236 | * To the hash table, try to unhash it, just in case, its a noop | ||
| 1237 | * if it wasn't hashed so we're safe | ||
| 1238 | */ | ||
| 1239 | sctp_unhash_established(asoc); | ||
| 1235 | sctp_association_free(asoc); | 1240 | sctp_association_free(asoc); |
| 1241 | } | ||
| 1236 | return err; | 1242 | return err; |
| 1237 | } | 1243 | } |
| 1238 | 1244 | ||
| @@ -1942,8 +1948,10 @@ SCTP_STATIC int sctp_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
| 1942 | goto out_unlock; | 1948 | goto out_unlock; |
| 1943 | 1949 | ||
| 1944 | out_free: | 1950 | out_free: |
| 1945 | if (new_asoc) | 1951 | if (new_asoc) { |
| 1952 | sctp_unhash_established(asoc); | ||
| 1946 | sctp_association_free(asoc); | 1953 | sctp_association_free(asoc); |
| 1954 | } | ||
| 1947 | out_unlock: | 1955 | out_unlock: |
| 1948 | sctp_release_sock(sk); | 1956 | sctp_release_sock(sk); |
| 1949 | 1957 | ||
