bridge: Use consistent NF_DROP returns in nf_pre_routing
[linux-2.6.git] / net / bridge / br_netfilter.c
index 16f5c33..4b5b66d 100644 (file)
@@ -562,26 +562,26 @@ static unsigned int br_nf_pre_routing_ipv6(unsigned int hook,
        u32 pkt_len;
 
        if (skb->len < sizeof(struct ipv6hdr))
-               goto inhdr_error;
+               return NF_DROP;
 
        if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))
-               goto inhdr_error;
+               return NF_DROP;
 
        hdr = ipv6_hdr(skb);
 
        if (hdr->version != 6)
-               goto inhdr_error;
+               return NF_DROP;
 
        pkt_len = ntohs(hdr->payload_len);
 
        if (pkt_len || hdr->nexthdr != NEXTHDR_HOP) {
                if (pkt_len + sizeof(struct ipv6hdr) > skb->len)
-                       goto inhdr_error;
+                       return NF_DROP;
                if (pskb_trim_rcsum(skb, pkt_len + sizeof(struct ipv6hdr)))
-                       goto inhdr_error;
+                       return NF_DROP;
        }
        if (hdr->nexthdr == NEXTHDR_HOP && check_hbh_len(skb))
-               goto inhdr_error;
+               return NF_DROP;
 
        nf_bridge_put(skb->nf_bridge);
        if (!nf_bridge_alloc(skb))
@@ -594,9 +594,6 @@ static unsigned int br_nf_pre_routing_ipv6(unsigned int hook,
                br_nf_pre_routing_finish_ipv6);
 
        return NF_STOLEN;
-
-inhdr_error:
-       return NF_DROP;
 }
 
 /* Direct IPv6 traffic to br_nf_pre_routing_ipv6.
@@ -615,11 +612,11 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff *skb,
        __u32 len = nf_bridge_encap_header_len(skb);
 
        if (unlikely(!pskb_may_pull(skb, len)))
-               goto out;
+               return NF_DROP;
 
        p = br_port_get_rcu(in);
        if (p == NULL)
-               goto out;
+               return NF_DROP;
        br = p->br;
 
        if (skb->protocol == htons(ETH_P_IPV6) || IS_VLAN_IPV6(skb) ||
@@ -641,8 +638,7 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff *skb,
        nf_bridge_pull_encap_header_rcsum(skb);
 
        if (br_parse_ip_options(skb))
-               /* Drop invalid packet */
-               goto out;
+               return NF_DROP;
 
        nf_bridge_put(skb->nf_bridge);
        if (!nf_bridge_alloc(skb))
@@ -656,9 +652,6 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff *skb,
                br_nf_pre_routing_finish);
 
        return NF_STOLEN;
-
-out:
-       return NF_DROP;
 }