summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Cheneau <tony.cheneau@amnesiak.org>2013-03-25 21:59:22 +0400
committerDavid S. Miller <davem@davemloft.net>2013-03-26 20:37:55 +0400
commitf5c20f58d950002a4a5a77f60484a51e5af6498c (patch)
tree67e514cdaaea59d0309da839cc8c90f875b5ca64
parent8d879a3f9856fe6c6e27853a96c0beaed03acb2c (diff)
downloadlinux-f5c20f58d950002a4a5a77f60484a51e5af6498c.tar.xz
6lowpan: next header is not properly set upon decompression of a UDP header.
This causes a drop of the UDP packet. Signed-off-by: Tony Cheneau <tony.cheneau@amnesiak.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ieee802154/6lowpan.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index 43b95ca61114..9f53904b5261 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -918,9 +918,11 @@ lowpan_process_data(struct sk_buff *skb)
}
/* UDP data uncompression */
- if (iphc0 & LOWPAN_IPHC_NH_C)
+ if (iphc0 & LOWPAN_IPHC_NH_C) {
if (lowpan_uncompress_udp_header(skb))
goto drop;
+ hdr.nexthdr = UIP_PROTO_UDP;
+ }
/* Not fragmented package */
hdr.payload_len = htons(skb->len);