• Jon Paul Maloy's avatar
    tipc: re-enable compensation for socket receive buffer double counting · 7c8bcfb1
    Jon Paul Maloy authored
    In the refactoring commit d570d864 ("tipc: enqueue arrived buffers
    in socket in separate function") we did by accident replace the test
    
    if (sk->sk_backlog.len == 0)
         atomic_set(&tsk->dupl_rcvcnt, 0);
    
    with
    
    if (sk->sk_backlog.len)
         atomic_set(&tsk->dupl_rcvcnt, 0);
    
    This effectively disables the compensation we have for the double
    receive buffer accounting that occurs temporarily when buffers are
    moved from the backlog to the socket receive queue. Until now, this
    has gone unnoticed because of the large receive buffer limits we are
    applying, but becomes indispensable when we reduce this buffer limit
    later in this series.
    
    We now fix this by inverting the mentioned condition.
    Acked-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7c8bcfb1
socket.c 71.8 KB