• Eric Dumazet's avatar
    net-gro: reset skb->truesize in napi_reuse_skb() · e33d0ba8
    Eric Dumazet authored
    Recycling skb always had been very tough...
    
    This time it appears GRO layer can accumulate skb->truesize
    adjustments made by drivers when they attach a fragment to skb.
    
    skb_gro_receive() can only subtract from skb->truesize the used part
    of a fragment.
    
    I spotted this problem seeing TcpExtPruneCalled and
    TcpExtTCPRcvCollapsed that were unexpected with a recent kernel, where
    TCP receive window should be sized properly to accept traffic coming
    from a driver not overshooting skb->truesize.
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e33d0ba8
dev.c 176 KB