commit | 018c5bba052b3a383d83cf0c756da0e7bc748397 | [log] [tgz] |
---|---|---|
author | David S. Miller <davem@davemloft.net> | Fri Nov 15 21:11:16 2013 -0500 |
committer | David S. Miller <davem@davemloft.net> | Fri Nov 15 21:11:16 2013 -0500 |
tree | 5baf9a09e9619cf10d0e399e4ba347eab32b5afb | |
parent | f52ed89971adbe79b6438c459814034707b8ab91 [diff] |
net: Handle CHECKSUM_COMPLETE more adequately in pskb_trim_rcsum(). Currently pskb_trim_rcsum() just balks on CHECKSUM_COMPLETE packets and remarks them as CHECKSUM_NONE, forcing a software checksum validation later. We have all of the mechanics available to fixup the skb->csum value, even for complicated fragmented packets, via the helpers skb_checksum() and csum_sub(). So just use them. Based upon a suggestion by Herbert Xu. Signed-off-by: David S. Miller <davem@davemloft.net>