diff options
author | Brice Goglin <brice@myri.com> | 2008-12-09 00:14:27 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-09 00:14:27 -0800 |
commit | bcb09dc276e706ed6f22813ba774797125f3da0a (patch) | |
tree | 210e6733f1b4ace93a63532dd9e451eac8af9504 /drivers/net/myri10ge/myri10ge.c | |
parent | 6cf1a0f856bcb5423bfb4121b2dfeaa3ba7b1ff2 (diff) | |
download | op-kernel-dev-bcb09dc276e706ed6f22813ba774797125f3da0a.zip op-kernel-dev-bcb09dc276e706ed6f22813ba774797125f3da0a.tar.gz |
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/myri10ge.c')
-rw-r--r-- | drivers/net/myri10ge/myri10ge.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index 4510be1..f017c77 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); |