diff options
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r-- | net/ipv6/mcast.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index b2b37ba48b9c..1f2a3be9308a 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
@@ -988,7 +988,7 @@ int ipv6_is_mld(struct sk_buff *skb, int nexthdr) | |||
988 | if (!pskb_may_pull(skb, sizeof(struct icmp6hdr))) | 988 | if (!pskb_may_pull(skb, sizeof(struct icmp6hdr))) |
989 | return 0; | 989 | return 0; |
990 | 990 | ||
991 | pic = (struct icmp6hdr *)skb->h.raw; | 991 | pic = icmp6_hdr(skb); |
992 | 992 | ||
993 | switch (pic->icmp6_type) { | 993 | switch (pic->icmp6_type) { |
994 | case ICMPV6_MGM_QUERY: | 994 | case ICMPV6_MGM_QUERY: |
@@ -1179,7 +1179,7 @@ int igmp6_event_query(struct sk_buff *skb) | |||
1179 | if (idev == NULL) | 1179 | if (idev == NULL) |
1180 | return 0; | 1180 | return 0; |
1181 | 1181 | ||
1182 | hdr = (struct icmp6hdr *) skb->h.raw; | 1182 | hdr = icmp6_hdr(skb); |
1183 | group = (struct in6_addr *) (hdr + 1); | 1183 | group = (struct in6_addr *) (hdr + 1); |
1184 | group_type = ipv6_addr_type(group); | 1184 | group_type = ipv6_addr_type(group); |
1185 | 1185 | ||
@@ -1300,7 +1300,7 @@ int igmp6_event_report(struct sk_buff *skb) | |||
1300 | if (!pskb_may_pull(skb, sizeof(struct in6_addr))) | 1300 | if (!pskb_may_pull(skb, sizeof(struct in6_addr))) |
1301 | return -EINVAL; | 1301 | return -EINVAL; |
1302 | 1302 | ||
1303 | hdr = (struct icmp6hdr*) skb->h.raw; | 1303 | hdr = icmp6_hdr(skb); |
1304 | 1304 | ||
1305 | /* Drop reports with not link local source */ | 1305 | /* Drop reports with not link local source */ |
1306 | addr_type = ipv6_addr_type(&ipv6_hdr(skb)->saddr); | 1306 | addr_type = ipv6_addr_type(&ipv6_hdr(skb)->saddr); |