rxrpc: Fix connection-level abort handling
authorDavid Howells <dhowells@redhat.com>
Mon, 8 Oct 2018 14:46:17 +0000 (15:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Nov 2018 13:52:46 +0000 (14:52 +0100)
commit252869e5fb49b6397584d9dbe46b246bb1787ef3
tree3d4df7eb0f9c83288b6a2dcf58280875401e7a7d
parentf1d27ff6e027204e6bec8dd01153a196219d9d9b
rxrpc: Fix connection-level abort handling

[ Upstream commit 647530924f47c93db472ee3cf43b7ef1425581b6 ]

Fix connection-level abort handling to cache the abort and error codes
properly so that a new incoming call can be properly aborted if it races
with the parent connection being aborted by another CPU.

The abort_code and error parameters can then be dropped from
rxrpc_abort_calls().

Fixes: f5c17aaeb2ae ("rxrpc: Calls should only have one terminal state")
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/rxrpc/ar-internal.h
net/rxrpc/call_accept.c
net/rxrpc/conn_event.c