[PATCH net] rxrpc: Fix deadlock between call creation and sendmsg/recvmsg
David Miller
davem at davemloft.net
Wed Mar 1 09:51:26 PST 2017
From: David Howells <dhowells at redhat.com>
Date: Mon, 27 Feb 2017 15:43:06 +0000
> All the routines by which rxrpc is accessed from the outside are serialised
> by means of the socket lock (sendmsg, recvmsg, bind,
> rxrpc_kernel_begin_call(), ...) and this presents a problem:
...
> Fix this by:
...
> This patch has the nice bonus that calls on the same socket are now to some
> extent parallelisable.
>
>
> Note that we might want to move rxrpc_service_prealloc() calls out from the
> socket lock and give it its own lock, so that we don't hang progress in
> other calls because we're waiting for the allocator.
>
> We probably also want to avoid calling rxrpc_notify_socket() from within
> the socket lock (rxrpc_accept_call()).
>
> Signed-off-by: David Howells <dhowells at redhat.com>
> Tested-by: Marc Dionne <marc.c.dionne at auristor.com>
Applied, thanks David.
More information about the linux-afs
mailing list