diff --git a/[refs] b/[refs] index fd3b504bb7a2..2ea3536e5eba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2ed9926e16094ad143b96b09c64cba8bcba05ee1 +refs/heads/master: b45e9189c058bfa495073951ff461ee0eea968be diff --git a/trunk/net/ipv6/raw.c b/trunk/net/ipv6/raw.c index 8897ccf8086a..0a6fbc1d1a50 100644 --- a/trunk/net/ipv6/raw.c +++ b/trunk/net/ipv6/raw.c @@ -372,8 +372,10 @@ void raw6_icmp_error(struct sk_buff *skb, int nexthdr, read_lock(&raw_v6_hashinfo.lock); sk = sk_head(&raw_v6_hashinfo.ht[hash]); if (sk != NULL) { - saddr = &ipv6_hdr(skb)->saddr; - daddr = &ipv6_hdr(skb)->daddr; + struct ipv6hdr *hdr = (struct ipv6hdr *) skb->data; + + saddr = &hdr->saddr; + daddr = &hdr->daddr; net = skb->dev->nd_net; while ((sk = __raw_v6_lookup(net, sk, nexthdr, saddr, daddr,