• David Howells's avatar
    rxrpc: Fix life check · 7150ceaa
    David Howells authored
    The life-checking function, which is used by kAFS to make sure that a call
    is still live in the event of a pending signal, only samples the received
    packet serial number counter; it doesn't actually provoke a change in the
    counter, rather relying on the server to happen to give us a packet in the
    time window.
    
    Fix this by adding a function to force a ping to be transmitted.
    
    kAFS then keeps track of whether there's been a stall, and if so, uses the
    new function to ping the server, resetting the timeout to allow the reply
    to come back.
    
    If there's a stall, a ping and the call is *still* stalled in the same
    place after another period, then the call will be aborted.
    
    Fixes: bc5e3a54 ("rxrpc: Use MSG_WAITALL to tell sendmsg() to temporarily ignore signals")
    Fixes: f4d15fb6 ("rxrpc: Provide functions for allowing cleaner handling of signals")
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7150ceaa
Name
Last commit
Last update
..
Kconfig Loading commit data...
Makefile Loading commit data...
af_rxrpc.c Loading commit data...
ar-internal.h Loading commit data...
call_accept.c Loading commit data...
call_event.c Loading commit data...
call_object.c Loading commit data...
conn_client.c Loading commit data...
conn_event.c Loading commit data...
conn_object.c Loading commit data...
conn_service.c Loading commit data...
input.c Loading commit data...
insecure.c Loading commit data...
key.c Loading commit data...
local_event.c Loading commit data...
local_object.c Loading commit data...
misc.c Loading commit data...
net_ns.c Loading commit data...
output.c Loading commit data...
peer_event.c Loading commit data...
peer_object.c Loading commit data...
proc.c Loading commit data...
protocol.h Loading commit data...
recvmsg.c Loading commit data...
rxkad.c Loading commit data...
security.c Loading commit data...
sendmsg.c Loading commit data...
skbuff.c Loading commit data...
sysctl.c Loading commit data...
utils.c Loading commit data...