diff options
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/br_netfilter.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c index 0ee74b1e4770..f2796c97b4a2 100644 --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c | |||
@@ -372,7 +372,7 @@ static struct net_device *setup_pre_routing(struct sk_buff *skb) | |||
372 | /* We only check the length. A bridge shouldn't do any hop-by-hop stuff anyway */ | 372 | /* We only check the length. A bridge shouldn't do any hop-by-hop stuff anyway */ |
373 | static int check_hbh_len(struct sk_buff *skb) | 373 | static int check_hbh_len(struct sk_buff *skb) |
374 | { | 374 | { |
375 | unsigned char *raw = (u8 *) (skb->nh.ipv6h + 1); | 375 | unsigned char *raw = (u8 *)(ipv6_hdr(skb) + 1); |
376 | u32 pkt_len; | 376 | u32 pkt_len; |
377 | const unsigned char *nh = skb_network_header(skb); | 377 | const unsigned char *nh = skb_network_header(skb); |
378 | int off = raw - nh; | 378 | int off = raw - nh; |
@@ -400,7 +400,7 @@ static int check_hbh_len(struct sk_buff *skb) | |||
400 | goto bad; | 400 | goto bad; |
401 | pkt_len = ntohl(*(__be32 *) (nh + off + 2)); | 401 | pkt_len = ntohl(*(__be32 *) (nh + off + 2)); |
402 | if (pkt_len <= IPV6_MAXPLEN || | 402 | if (pkt_len <= IPV6_MAXPLEN || |
403 | skb->nh.ipv6h->payload_len) | 403 | ipv6_hdr(skb)->payload_len) |
404 | goto bad; | 404 | goto bad; |
405 | if (pkt_len > skb->len - sizeof(struct ipv6hdr)) | 405 | if (pkt_len > skb->len - sizeof(struct ipv6hdr)) |
406 | goto bad; | 406 | goto bad; |
@@ -441,7 +441,7 @@ static unsigned int br_nf_pre_routing_ipv6(unsigned int hook, | |||
441 | if (!pskb_may_pull(skb, sizeof(struct ipv6hdr))) | 441 | if (!pskb_may_pull(skb, sizeof(struct ipv6hdr))) |
442 | goto inhdr_error; | 442 | goto inhdr_error; |
443 | 443 | ||
444 | hdr = skb->nh.ipv6h; | 444 | hdr = ipv6_hdr(skb); |
445 | 445 | ||
446 | if (hdr->version != 6) | 446 | if (hdr->version != 6) |
447 | goto inhdr_error; | 447 | goto inhdr_error; |