linux/net/sctp
Daniel Borkmann 0a2fbac197 net: sctp: decouple cleaning some socket data from endpoint
Rather instead of having the endpoint clean the garbage from the
socket, use a sk_destruct handler sctp_destruct_sock(), that does
the job for that when there are no more references on the socket.
At least do this for our crypto transform through crypto_free_hash()
that is allocated when in listening state.

Also, perform sctp_put_port() only when sk is valid. At a later
point in time we can still determine if there's an option of
placing this into sk_prot->unhash() or sctp_endpoint_free() without
any races. For now, leave it in sctp_endpoint_destroy() though.

Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-25 16:33:04 -07:00
..
associola.c net: sctp: migrate cookie life from timeval to ktime 2013-06-25 16:33:04 -07:00
auth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-02-08 18:02:14 -05:00
bind_addr.c net: sctp: get rid of t_new macro for kzalloc 2013-06-17 17:08:04 -07:00
chunk.c net: sctp: remove SCTP_STATIC macro 2013-06-17 17:08:05 -07:00
command.c
debug.c sctp: remove completely unsed EMPTY state 2011-04-20 01:51:03 -07:00
endpointola.c net: sctp: decouple cleaning some socket data from endpoint 2013-06-25 16:33:04 -07:00
input.c net: sctp: remove SCTP_STATIC macro 2013-06-17 17:08:05 -07:00
inqueue.c net: sctp: sctp_inq: remove dead code 2013-04-17 14:13:02 -04:00
ipv6.c net: sctp: remove SCTP_STATIC macro 2013-06-17 17:08:05 -07:00
Kconfig net, sctp: remove CONFIG_EXPERIMENTAL 2013-02-13 13:57:27 -05:00
Makefile
objcnt.c sctp: Make the proc files per network namespace. 2012-08-14 23:29:53 -07:00
output.c net: sctp: minor: remove dead code from sctp_packet 2013-04-22 16:25:21 -04:00
outqueue.c sctp: fully initialize sctp_outq in sctp_outq_init 2013-06-13 18:05:24 -07:00
primitive.c sctp: Push struct net down to sctp_chunk_event_lookup 2012-08-14 23:30:37 -07:00
probe.c net: sctp: attribute printl with __printf for gcc fmt checks 2013-05-01 15:04:10 -04:00
proc.c net: sctp: minor: sctp_seq_dump_local_addrs add missing newline 2013-06-25 16:33:04 -07:00
protocol.c sctp: Convert __list_for_each use to list_for_each 2013-06-19 23:02:49 -07:00
sm_make_chunk.c net: sctp: migrate cookie life from timeval to ktime 2013-06-25 16:33:04 -07:00
sm_sideeffect.c net: sctp: sideeffect: throw BUG if primary_path is NULL 2013-06-14 15:38:36 -07:00
sm_statefuns.c net: sctp: sctp_sf_do_prm_asoc: do SCTP_CMD_INIT_CHOOSE_TRANSPORT first 2013-06-14 15:38:36 -07:00
sm_statetable.c sctp: Make sysctl tunables per net 2012-08-14 23:32:16 -07:00
socket.c net: sctp: decouple cleaning some socket data from endpoint 2013-06-25 16:33:04 -07:00
ssnmap.c net: sctp: sctp_ssnmap: remove 'malloced' element from struct 2013-04-17 14:13:02 -04:00
sysctl.c net: Convert uses of typedef ctl_table to struct ctl_table 2013-06-13 02:36:09 -07:00
transport.c net: sctp: get rid of t_new macro for kzalloc 2013-06-17 17:08:04 -07:00
tsnmap.c net: sctp: remove SCTP_STATIC macro 2013-06-17 17:08:05 -07:00
ulpevent.c net: sctp: remove SCTP_STATIC macro 2013-06-17 17:08:05 -07:00
ulpqueue.c net: sctp: sctp_ulpq: remove 'malloced' struct member 2013-04-17 14:13:02 -04:00