• David Howells's avatar
    rxrpc: Defer the response to a PING ACK until we've parsed it · 1a01319f
    David Howells authored
    Defer the generation of a PING RESPONSE ACK in response to a PING ACK until
    we've parsed the PING ACK so that we pick up any changes to the packet
    queue so that we can update ackinfo.
    
    This is also applied to an ACK generated in response to an ACK with the
    REQUEST_ACK flag set.
    
    Note that whilst the problem was added in commit 248f219c, it didn't
    really matter at that point because the ACK was proposed in softirq mode
    and generated asynchronously later in process context, taking the latest
    values at the time.  But this fix is only needed since the move to parse
    incoming packets in an I/O thread rather than in softirq and generate the
    ACK at point of proposal (b0346843).
    
    Fixes: 248f219c ("rxrpc: Rewrite the data and ack handling code")
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    cc: Marc Dionne <marc.dionne@auristor.com>
    cc: "David S. Miller" <davem@davemloft.net>
    cc: Eric Dumazet <edumazet@google.com>
    cc: Jakub Kicinski <kuba@kernel.org>
    cc: Paolo Abeni <pabeni@redhat.com>
    cc: linux-afs@lists.infradead.org
    cc: netdev@vger.kernel.org
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1a01319f
input.c 27.7 KB