• David Howells's avatar
    rxrpc: Fix conn-based retransmit · 2266ffde
    David Howells authored
    If a duplicate packet comes in for a call that has just completed on a
    connection's channel then there will be an oops in the data_ready handler
    because it tries to examine the connection struct via a call struct (which
    we don't have - the pointer is unset).
    
    Since the connection struct pointer is available to us, go direct instead.
    
    Also, the ACK packet to be retransmitted needs three octets of padding
    between the soft ack list and the ackinfo.
    
    Fixes: 18bfeba5 ("rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor")
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    2266ffde
conn_event.c 11.9 KB