• David Howells's avatar
    rxrpc: Fix unexposed client conn release · 78883793
    David Howells authored
    If the last call on a client connection is release after the connection has
    had a bunch of calls allocated but before any DATA packets are sent (so
    that it's not yet marked RXRPC_CONN_EXPOSED), an assertion will happen in
    rxrpc_disconnect_client_call().
    
    	af_rxrpc: Assertion failed - 1(0x1) >= 2(0x2) is false
    	------------[ cut here ]------------
    	kernel BUG at ../net/rxrpc/conn_client.c:753!
    
    This is because it's expecting the conn to have been exposed and to have 2
    or more refs - but this isn't necessarily the case.
    
    Simply remove the assertion.  This allows the conn to be moved into the
    inactive state and deleted if it isn't resurrected before the final put is
    called.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    78883793
conn_client.c 28.9 KB