aboutsummaryrefslogtreecommitdiffstats
path: root/net/ieee802154
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2014-06-02 13:21:58 +0200
committerDavid S. Miller <davem@davemloft.net>2014-06-02 10:39:42 -0700
commiteb06481d69c60f6f9318e935053dce13fe3e8951 (patch)
treee4ac32d38c2a2167a838e62b2bbe75e48d510753 /net/ieee802154
parent6lowpan_rtnl: fix fragmentation with two fragments (diff)
downloadlinux-dev-eb06481d69c60f6f9318e935053dce13fe3e8951.tar.xz
linux-dev-eb06481d69c60f6f9318e935053dce13fe3e8951.zip
6lowpan_rtnl: fix off by one while fragmentation
This patch fix a off by one error while fragmentation. If the frag_cap value is equal to skb_unprocessed value we need to stop the fragmentation loop because the last fragment which has a size of skb_unprocessed fits into the frag capability size. This issue was introduced by commit d4b2816d67d6e07b2f27037f282d8db03a5829d7 ("6lowpan: fix fragmentation"). Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ieee802154')
-rw-r--r--net/ieee802154/6lowpan_rtnl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ieee802154/6lowpan_rtnl.c b/net/ieee802154/6lowpan_rtnl.c
index 9d57026fd9d5..fe6bd7a71081 100644
--- a/net/ieee802154/6lowpan_rtnl.c
+++ b/net/ieee802154/6lowpan_rtnl.c
@@ -328,7 +328,7 @@ lowpan_xmit_fragmented(struct sk_buff *skb, struct net_device *dev,
__func__, frag_tag, skb_offset);
goto err;
}
- } while (skb_unprocessed >= frag_cap);
+ } while (skb_unprocessed > frag_cap);
consume_skb(skb);
return NET_XMIT_SUCCESS;