X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;ds=sidebyside;f=batman-adv%2Fpatches%2F0004-batman-adv-check-return-value-of-pskb_trim_rcsum.patch;fp=batman-adv%2Fpatches%2F0004-batman-adv-check-return-value-of-pskb_trim_rcsum.patch;h=29962a5a4fd85e00e8eb8ad5957e473ae544c9c8;hb=88e202e84816064a12130f14a55ca7e53b3d910f;hp=0000000000000000000000000000000000000000;hpb=a6d6fa15cdd8e02520c2247df448f4e0a0bf2fd5;p=lede-routing%2F.git diff --git a/batman-adv/patches/0004-batman-adv-check-return-value-of-pskb_trim_rcsum.patch b/batman-adv/patches/0004-batman-adv-check-return-value-of-pskb_trim_rcsum.patch new file mode 100644 index 0000000..29962a5 --- /dev/null +++ b/batman-adv/patches/0004-batman-adv-check-return-value-of-pskb_trim_rcsum.patch @@ -0,0 +1,44 @@ +From d22ebef1431aab13099370b89afa4ba55eb95c35 Mon Sep 17 00:00:00 2001 +From: Marek Lindner +Date: Tue, 7 May 2013 19:25:02 +0800 +Subject: [PATCH 4/6] batman-adv: check return value of pskb_trim_rcsum() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Reported-by: Sven Eckelmann +Signed-off-by: Marek Lindner +Acked-by: Martin Hundebøll +--- + network-coding.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/network-coding.c b/network-coding.c +index f7c5430..e84629e 100644 +--- a/network-coding.c ++++ b/network-coding.c +@@ -1514,6 +1514,7 @@ batadv_nc_skb_decode_packet(struct batadv_priv *bat_priv, struct sk_buff *skb, + struct ethhdr *ethhdr, ethhdr_tmp; + uint8_t *orig_dest, ttl, ttvn; + unsigned int coding_len; ++ int err; + + /* Save headers temporarily */ + memcpy(&coded_packet_tmp, skb->data, sizeof(coded_packet_tmp)); +@@ -1568,8 +1569,11 @@ batadv_nc_skb_decode_packet(struct batadv_priv *bat_priv, struct sk_buff *skb, + coding_len); + + /* Resize decoded skb if decoded with larger packet */ +- if (nc_packet->skb->len > coding_len + h_size) +- pskb_trim_rcsum(skb, coding_len + h_size); ++ if (nc_packet->skb->len > coding_len + h_size) { ++ err = pskb_trim_rcsum(skb, coding_len + h_size); ++ if (err) ++ return NULL; ++ } + + /* Create decoded unicast packet */ + unicast_packet = (struct batadv_unicast_packet *)skb->data; +-- +1.7.10.4 +