• Herbert Xu's avatar
    [NET]: Avoid copying TCP packets unnecessarily · a030847e
    Herbert Xu authored
    TCP packets all have writable heads, that is, even though it's cloned, it is
    writable up to the end of the TCP header.  This patch makes skb_checksum_help
    aware of this fact by using skb_clone_writable and avoiding a copy for TCP.
    
    I've also modified the BUG_ON tests to be unsigned.  The only case where this
    makes a difference is if csum_start points to a location before skb->data.
    Since skb->data should always include the header where the checksum field
    is (and all currently callers adhere to that), this change is safe and may
    uncover bugs later.
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a030847e
dev.c 108 KB