• David Howells's avatar
    rxrpc: Make service connection lookup always check for retry · fdade4f6
    David Howells authored
    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: default avatarDavid Howells <dhowells@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fdade4f6
conn_service.c 5.89 KB