projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ea1649d
)
l2tp: fix l2tp_udp_recv_core()
author
Eric Dumazet
<eric.dumazet@gmail.com>
Tue, 8 Nov 2011 18:59:44 +0000
(13:59 -0500)
committer
David S. Miller
<davem@davemloft.net>
Tue, 8 Nov 2011 18:59:44 +0000
(13:59 -0500)
pskb_may_pull() can change skb->data, so we have to load ptr/optr at the
right place.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_core.c
patch
|
blob
|
history
diff --git
a/net/l2tp/l2tp_core.c
b/net/l2tp/l2tp_core.c
index bf8d50c67931e8e588520b7c49ad49fca51b40b3..cf0f308abf5e7324aa05a40cfffd4eee166b0d51 100644
(file)
--- a/
net/l2tp/l2tp_core.c
+++ b/
net/l2tp/l2tp_core.c
@@
-756,9
+756,6
@@
static int l2tp_udp_recv_core(struct l2tp_tunnel *tunnel, struct sk_buff *skb,
goto error;
}
- /* Point to L2TP header */
- optr = ptr = skb->data;
-
/* Trace packet contents, if enabled */
if (tunnel->debug & L2TP_MSG_DATA) {
length = min(32u, skb->len);
@@
-769,12
+766,15
@@
static int l2tp_udp_recv_core(struct l2tp_tunnel *tunnel, struct sk_buff *skb,
offset = 0;
do {
- printk(" %02X",
ptr
[offset]);
+ printk(" %02X",
skb->data
[offset]);
} while (++offset < length);
printk("\n");
}
+ /* Point to L2TP header */
+ optr = ptr = skb->data;
+
/* Get L2TP header flags */
hdrflags = ntohs(*(__be16 *) ptr);