diff options
author | Sridhar Samudrala <sri@us.ibm.com> | 2006-08-28 16:53:01 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-08-30 00:22:13 -0400 |
commit | b9ac86727fc02cc7117ef3fe518a4d51cd573c82 (patch) | |
tree | b621339f1336ced4315b832df229a2880491f3e3 /net/sctp | |
parent | dc709bd190c130b299ac19d596594256265c042a (diff) |
[SCTP]: Fix sctp_primitive_ABORT() call in sctp_close().
With the recent fix, the callers of sctp_primitive_ABORT()
need to create an ABORT chunk and pass it as an argument rather
than msghdr that was passed earlier.
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-rw-r--r-- | net/sctp/socket.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index fde3f55bfd4b..dab15949958e 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -1289,9 +1289,13 @@ SCTP_STATIC void sctp_close(struct sock *sk, long timeout) | |||
1289 | } | 1289 | } |
1290 | } | 1290 | } |
1291 | 1291 | ||
1292 | if (sock_flag(sk, SOCK_LINGER) && !sk->sk_lingertime) | 1292 | if (sock_flag(sk, SOCK_LINGER) && !sk->sk_lingertime) { |
1293 | sctp_primitive_ABORT(asoc, NULL); | 1293 | struct sctp_chunk *chunk; |
1294 | else | 1294 | |
1295 | chunk = sctp_make_abort_user(asoc, NULL, 0); | ||
1296 | if (chunk) | ||
1297 | sctp_primitive_ABORT(asoc, chunk); | ||
1298 | } else | ||
1295 | sctp_primitive_SHUTDOWN(asoc, NULL); | 1299 | sctp_primitive_SHUTDOWN(asoc, NULL); |
1296 | } | 1300 | } |
1297 | 1301 | ||