]> git.baikalelectronics.ru Git - kernel.git/commit
rxrpc: Fix unexposed client conn release
authorDavid Howells <dhowells@redhat.com>
Sat, 17 Sep 2016 09:49:12 +0000 (10:49 +0100)
committerDavid Howells <dhowells@redhat.com>
Sat, 17 Sep 2016 09:53:21 +0000 (10:53 +0100)
commit2d66c3738e0aa6ef73203039e8963bbf398b17c9
tree9091d900cbaf711cadaa8f7ed40b560f9af9a9d8
parent3765a976953d8a0e4c804813f2f432fc895a6612
rxrpc: Fix unexposed client conn release

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: David Howells <dhowells@redhat.com>
net/rxrpc/conn_client.c