linux/net/rxrpc
David Howells fdade4f69e rxrpc: Make service connection lookup always check for retry
When an RxRPC service packet comes in, the target connection is looked up
by an rb-tree search under RCU and a read-locked seqlock; the seqlock retry
check is, however, currently skipped if we got a match, but probably
shouldn't be in case the connection we found gets replaced whilst we're
doing a search.

Make the lookup procedure always go through need_seqretry(), even if the
lookup was successful.  This makes sure we always pick up on a write-lock
event.

On the other hand, since we don't take a ref on the object, but rely on RCU
to prevent its destruction after dropping the seqlock, I'm not sure this is
necessary.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-05 14:39:17 -07:00
..
Kconfig
Makefile
af_rxrpc.c rxrpc: Allow failed client calls to be retried 2017-08-29 10:55:20 +01:00
ar-internal.h rxrpc: Allow failed client calls to be retried 2017-08-29 10:55:20 +01:00
call_accept.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00
call_event.c
call_object.c rxrpc: Allow failed client calls to be retried 2017-08-29 10:55:20 +01:00
conn_client.c rxrpc: Allow failed client calls to be retried 2017-08-29 10:55:20 +01:00
conn_event.c
conn_object.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00
conn_service.c rxrpc: Make service connection lookup always check for retry 2017-09-05 14:39:17 -07:00
input.c
insecure.c
key.c rxrpc: Use correct timestamp from Kerberos 5 ticket 2017-08-29 10:55:06 +01:00
local_event.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00
local_object.c
misc.c
net_ns.c
output.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00
peer_event.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00
peer_object.c
proc.c
protocol.h rxrpc: Move the packet.h include file into net/rxrpc/ 2017-07-21 11:00:20 +01:00
recvmsg.c
rxkad.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00
security.c
sendmsg.c rxrpc: Allow failed client calls to be retried 2017-08-29 10:55:20 +01:00
skbuff.c net: convert sk_buff.users from atomic_t to refcount_t 2017-07-01 07:39:07 -07:00
sysctl.c
utils.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00