linux-stable/net/sctp
Xin Long bed187b540 sctp: fix double EPs display in sctp_diag
We have this situation: that EP hash table, contains only the EPs
that are listening, while the transports one, has the opposite.
We have to traverse both to dump all.

But when we traverse the transports one we will also get EPs that are
in the EP hash if they are listening. In this case, the EP is dumped
twice.

We will fix it by checking if the endpoint that is in the endpoint
hash table contains any ep->asoc in there, as it means we will also
find it via transport hash, and thus we can/should skip it, depending
on the filters used, like 'ss -l'.

Still, we should NOT skip it if the user is listing only listening
endpoints, because then we are not traversing the transport hash.
so we have to check idiag_states there also.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-05-25 22:14:31 -07:00
..
associola.c sctp: align MTU to a word 2016-03-20 16:31:12 -04:00
auth.c sctp: Use shash 2016-01-27 20:36:15 +08:00
bind_addr.c sctp: fix copying more bytes than expected in sctp_add_bind_addr 2016-03-08 15:04:08 -05:00
chunk.c net: snmp: kill various STATS_USER() helpers 2016-04-27 22:48:22 -04:00
debug.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
endpointola.c sctp: Use shash 2016-01-27 20:36:15 +08:00
input.c net: rename NET_{ADD|INC}_STATS_BH() 2016-04-27 22:48:24 -04:00
inqueue.c sctp: prepare for socket backlog behavior change 2016-05-02 17:02:26 -04:00
ipv6.c net: rename ICMP6_INC_STATS_BH() 2016-04-27 22:48:24 -04:00
Kconfig sctp: add the sctp_diag.c file 2016-04-15 17:29:36 -04:00
Makefile sctp: add the sctp_diag.c file 2016-04-15 17:29:36 -04:00
objcnt.c sctp: fix checkpatch errors with (foo*)|foo * bar|foo* bar 2013-12-26 13:47:47 -05:00
output.c sctp: flush if we can't fit another DATA chunk 2016-04-05 15:39:44 -04:00
outqueue.c sctp: avoid refreshing heartbeat timer too often 2016-04-10 22:22:34 -04:00
primitive.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
probe.c net: sctp: Convert log timestamps to be y2038 safe 2016-03-01 17:18:44 -05:00
proc.c sctp: fix some rhashtable functions using in sctp proc/diag 2016-04-15 17:29:37 -04:00
protocol.c sctp: fix copying more bytes than expected in sctp_add_bind_addr 2016-03-08 15:04:08 -05:00
sctp_diag.c sctp: fix double EPs display in sctp_diag 2016-05-25 22:14:31 -07:00
sm_make_chunk.c sctp: avoid refreshing heartbeat timer too often 2016-04-10 22:22:34 -04:00
sm_sideeffect.c sctp: signal sk_data_ready earlier on data chunks reception 2016-05-01 21:06:10 -04:00
sm_statefuns.c sctp: fix use-after-free in pr_debug statement 2016-01-11 17:13:01 -05:00
sm_statetable.c sctp: fix checkpatch errors with indent 2013-12-26 13:47:48 -05:00
socket.c sctp: fix some rhashtable functions using in sctp proc/diag 2016-04-15 17:29:37 -04:00
ssnmap.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
sysctl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-01-11 23:55:43 -05:00
transport.c sctp: avoid refreshing heartbeat timer too often 2016-04-10 22:22:34 -04:00
tsnmap.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
ulpevent.c sctp: Fixup v4mapped behaviour to comply with Sock API 2014-07-31 21:49:06 -07:00
ulpqueue.c sctp: signal sk_data_ready earlier on data chunks reception 2016-05-01 21:06:10 -04:00