inet: frags: fix defragmented packet's IP header for af_packet
authorEdward Hyunkoo Jee <edjee@google.com>
Tue, 21 Jul 2015 07:43:59 +0000 (09:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Jul 2015 17:29:23 +0000 (10:29 -0700)
commit0848f6428ba3a2e42db124d41ac6f548655735bf
tree598f459e415490e6d18155106207693df3e6ee71
parenta84e32894191cfcbffa54180d78d7d4654d56c20
inet: frags: fix defragmented packet's IP header for af_packet

When ip_frag_queue() computes positions, it assumes that the passed
sk_buff does not contain L2 headers.

However, when PACKET_FANOUT_FLAG_DEFRAG is used, IP reassembly
functions can be called on outgoing packets that contain L2 headers.

Also, IPv4 checksum is not corrected after reassembly.

Fixes: 7736d33f4262 ("packet: Add pre-defragmentation support for ipv4 fanouts.")
Signed-off-by: Edward Hyunkoo Jee <edjee@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Cc: Jerry Chu <hkchu@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_fragment.c