diff -Nrbu ipv6/raw.c ipv6.OK/raw.c --- ipv6/raw.c 2008-04-01 23:44:26.000000000 +0400 +++ ipv6.OK/raw.c 2008-04-11 15:33:30.000000000 +0400 @@ -372,8 +372,8 @@ 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; + saddr = &((struct ipv6hdr *)skb->data)->saddr; + daddr = &((struct ipv6hdr *)skb->data)->daddr; net = skb->dev->nd_net; while ((sk = __raw_v6_lookup(net, sk, nexthdr, saddr, daddr,