aboutsummaryrefslogtreecommitdiffstats
path: root/net/rxrpc/af_rxrpc.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-06-27 10:32:02 +0100
committerDavid Howells <dhowells@redhat.com>2016-07-06 10:43:51 +0100
commiteb9b9d22754d1926771a22638e81384d517c6ce5 (patch)
treebcb597115cd3184ccc31e896956ff310d180ed85 /net/rxrpc/af_rxrpc.c
parentrxrpc: Turn connection #defines into enums and put outside struct def (diff)
downloadlinux-dev-eb9b9d22754d1926771a22638e81384d517c6ce5.tar.xz
linux-dev-eb9b9d22754d1926771a22638e81384d517c6ce5.zip
rxrpc: Check that the client conns cache is empty before module removal
Check that the client conns cache is empty before module removal and bug if not, listing any offending connections that are still present. Unfortunately, if there are connections still around, then the transport socket is still unexpectedly open and active, so we can't just unallocate the connections. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/af_rxrpc.c')
-rw-r--r--net/rxrpc/af_rxrpc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c
index 5d3e795a7c48..d5073eb02498 100644
--- a/net/rxrpc/af_rxrpc.c
+++ b/net/rxrpc/af_rxrpc.c
@@ -807,8 +807,7 @@ static void __exit af_rxrpc_exit(void)
_debug("synchronise RCU");
rcu_barrier();
_debug("destroy locals");
- ASSERT(idr_is_empty(&rxrpc_client_conn_ids));
- idr_destroy(&rxrpc_client_conn_ids);
+ rxrpc_destroy_client_conn_ids();
rxrpc_destroy_all_locals();
remove_proc_entry("rxrpc_conns", init_net.proc_net);