summaryrefslogtreecommitdiffstats
path: root/drivers/net/myri10ge
diff options
context:
space:
mode:
authorBrice Goglin <brice@myri.com>2008-12-09 09:14:27 +0100
committerDavid S. Miller <davem@davemloft.net>2008-12-09 09:14:27 +0100
commitbcb09dc276e706ed6f22813ba774797125f3da0a (patch)
tree210e6733f1b4ace93a63532dd9e451eac8af9504 /drivers/net/myri10ge
parentbluetooth: Fix rfcomm_sock_ioctl() build failure with debugging enabled. (diff)
downloadlinux-bcb09dc276e706ed6f22813ba774797125f3da0a.tar.xz
linux-bcb09dc276e706ed6f22813ba774797125f3da0a.zip
myri10ge: check fragmentation in LRO get_frag_header()
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>
Diffstat (limited to 'drivers/net/myri10ge')
-rw-r--r--drivers/net/myri10ge/myri10ge.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 4510be18980b..f017c774e1a4 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -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);