diff options
author | Kukjin Kim <kgene.kim@samsung.com> | 2012-11-20 18:19:10 +0900 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-11-20 18:19:10 +0900 |
commit | 840ed42942cc1ebbda2ed55f4019673b537fc5de (patch) | |
tree | 415644488e3966837eeb5061d96d4ca7db862318 /net/batman-adv/routing.c | |
parent | 0dca30003bc752b2fc15906e562ef4e4925725fd (diff) | |
parent | 0a9d5ac307aefbb2c772537d3fe7f75046d563ac (diff) | |
download | talos-op-linux-840ed42942cc1ebbda2ed55f4019673b537fc5de.tar.gz talos-op-linux-840ed42942cc1ebbda2ed55f4019673b537fc5de.zip |
Merge branch 'next/hdmi-samsung' into next/devel-samsung
Diffstat (limited to 'net/batman-adv/routing.c')
-rw-r--r-- | net/batman-adv/routing.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c index 939fc01371df..376b4cc6ca82 100644 --- a/net/batman-adv/routing.c +++ b/net/batman-adv/routing.c @@ -1124,8 +1124,14 @@ int batadv_recv_bcast_packet(struct sk_buff *skb, spin_unlock_bh(&orig_node->bcast_seqno_lock); + /* keep skb linear for crc calculation */ + if (skb_linearize(skb) < 0) + goto out; + + bcast_packet = (struct batadv_bcast_packet *)skb->data; + /* check whether this has been sent by another originator before */ - if (batadv_bla_check_bcast_duplist(bat_priv, bcast_packet, hdr_size)) + if (batadv_bla_check_bcast_duplist(bat_priv, bcast_packet, skb->len)) goto out; /* rebroadcast packet */ |