• Ilpo Järvinen's avatar
    tcp: handle shift/merge of cloned skbs too · 0ace2856
    Ilpo Järvinen authored
    This caused me to get repeatably:
    
      tcpdump: pcap_loop: recvfrom: Bad address
    
    Happens occassionally when I tcpdump my for-looped test xfers:
      while [ : ]; do echo -n "$(date '+%s.%N') "; ./sendfile; sleep 20; done
    
    Rest of the relevant commands:
      ethtool -K eth0 tso off
      tc qdisc add dev eth0 root netem drop 4%
      tcpdump -n -s0 -i eth0 -w sacklog.all
    
    Running net-next under kvm, connection goes to the same host
    (basically just out of kvm). The connection itself works ok
    and data gets sent without corruption even with a large
    number of tests while tcpdump fails usually within less than
    5 tests.
    
    Whether it only happens because of this change or not, I
    don't know for sure but it's the only thing with which
    I've seen that error. The non-cloned variant works w/o it
    for much longer time. I'm yet to debug where the error
    actually comes from.
    Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0ace2856
skbuff.c 69.3 KB