diff options
author | Xin Long <lucien.xin@gmail.com> | 2021-12-31 18:37:37 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-01-02 12:46:41 +0000 |
commit | f9d31c4cf4c11ff10317f038b9c6f7c3bda6cdd4 (patch) | |
tree | b9773cb8cf506bcab4f94014afbb12becbe18e76 /include/net | |
parent | 5b40d10b604280a5bdf355b9d47ed238c92233dd (diff) | |
download | linux-f9d31c4cf4c11ff10317f038b9c6f7c3bda6cdd4.tar.bz2 |
sctp: hold endpoint before calling cb in sctp_transport_lookup_process
The same fix in commit 5ec7d18d1813 ("sctp: use call_rcu to free endpoint")
is also needed for dumping one asoc and sock after the lookup.
Fixes: 86fdb3448cc1 ("sctp: ensure ep is not destroyed before doing the dump")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/sctp/sctp.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index d314a180ab93..3ae61ce2eabd 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h @@ -112,8 +112,7 @@ struct sctp_transport *sctp_transport_get_next(struct net *net, struct rhashtable_iter *iter); struct sctp_transport *sctp_transport_get_idx(struct net *net, struct rhashtable_iter *iter, int pos); -int sctp_transport_lookup_process(int (*cb)(struct sctp_transport *, void *), - struct net *net, +int sctp_transport_lookup_process(sctp_callback_t cb, struct net *net, const union sctp_addr *laddr, const union sctp_addr *paddr, void *p); int sctp_transport_traverse_process(sctp_callback_t cb, sctp_callback_t cb_done, |