myri10ge: check fragmentation in LRO get_frag_header()
authorBrice Goglin <brice@myri.com>
Tue, 9 Dec 2008 08:14:27 +0000 (00:14 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Dec 2008 08:14:27 +0000 (00:14 -0800)
Add a fragmentation check to myri10ge's LRO get_frag_header() callback.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Andrew Gallatin <gallatin@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/myri10ge/myri10ge.c

index 4510be18980b4c6a5c5e1e501529069d2ecc6ec1..f017c774e1a4c8ef58a73e1c3126e0a2431fe7ef 100644 (file)
@@ -2229,6 +2229,8 @@ myri10ge_get_frag_header(struct skb_frag_struct *frag, void **mac_hdr,
        *ip_hdr = iph;
        if (iph->protocol != IPPROTO_TCP)
                return -1;
+       if (iph->frag_off & htons(IP_MF | IP_OFFSET))
+               return -1;
        *hdr_flags |= LRO_TCP;
        *tcpudp_hdr = (u8 *) (*ip_hdr) + (iph->ihl << 2);