Commit eb06481d authored by Alexander Aring's avatar Alexander Aring Committed by David S. Miller

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 d4b2816d
("6lowpan: fix fragmentation").
Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 51263fff
...@@ -328,7 +328,7 @@ lowpan_xmit_fragmented(struct sk_buff *skb, struct net_device *dev, ...@@ -328,7 +328,7 @@ lowpan_xmit_fragmented(struct sk_buff *skb, struct net_device *dev,
__func__, frag_tag, skb_offset); __func__, frag_tag, skb_offset);
goto err; goto err;
} }
} while (skb_unprocessed >= frag_cap); } while (skb_unprocessed > frag_cap);
consume_skb(skb); consume_skb(skb);
return NET_XMIT_SUCCESS; return NET_XMIT_SUCCESS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment