diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-11-08 13:59:44 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-08 13:59:44 -0500 |
commit | e50e705ca71db82a78a3e13fb7abf6b2171ac9c7 (patch) | |
tree | 619ba1fcb3906259b99533a0f53b0b218e52c507 /net | |
parent | ea1649dea95fb270af94f75e842402c4cfbfc15f (diff) |
l2tp: fix l2tp_udp_recv_core()
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>
Diffstat (limited to 'net')
-rw-r--r-- | net/l2tp/l2tp_core.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c index bf8d50c67931..cf0f308abf5e 100644 --- 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, | |||
756 | goto error; | 756 | goto error; |
757 | } | 757 | } |
758 | 758 | ||
759 | /* Point to L2TP header */ | ||
760 | optr = ptr = skb->data; | ||
761 | |||
762 | /* Trace packet contents, if enabled */ | 759 | /* Trace packet contents, if enabled */ |
763 | if (tunnel->debug & L2TP_MSG_DATA) { | 760 | if (tunnel->debug & L2TP_MSG_DATA) { |
764 | length = min(32u, skb->len); | 761 | length = min(32u, skb->len); |
@@ -769,12 +766,15 @@ static int l2tp_udp_recv_core(struct l2tp_tunnel *tunnel, struct sk_buff *skb, | |||
769 | 766 | ||
770 | offset = 0; | 767 | offset = 0; |
771 | do { | 768 | do { |
772 | printk(" %02X", ptr[offset]); | 769 | printk(" %02X", skb->data[offset]); |
773 | } while (++offset < length); | 770 | } while (++offset < length); |
774 | 771 | ||
775 | printk("\n"); | 772 | printk("\n"); |
776 | } | 773 | } |
777 | 774 | ||
775 | /* Point to L2TP header */ | ||
776 | optr = ptr = skb->data; | ||
777 | |||
778 | /* Get L2TP header flags */ | 778 | /* Get L2TP header flags */ |
779 | hdrflags = ntohs(*(__be16 *) ptr); | 779 | hdrflags = ntohs(*(__be16 *) ptr); |
780 | 780 | ||