aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/ip6_input.c')
-rw-r--r--net/ipv6/ip6_input.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c
index ad0b8abcdf4b..4fdded0e545a 100644
--- a/net/ipv6/ip6_input.c
+++ b/net/ipv6/ip6_input.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * IPv6 input 2 * IPv6 input
3 * Linux INET6 implementation 3 * Linux INET6 implementation
4 * 4 *
5 * Authors: 5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt> 6 * Pedro Roque <roque@di.fc.ul.pt>
@@ -48,7 +48,7 @@
48 48
49 49
50 50
51inline int ip6_rcv_finish( struct sk_buff *skb) 51inline int ip6_rcv_finish( struct sk_buff *skb)
52{ 52{
53 if (skb->dst == NULL) 53 if (skb->dst == NULL)
54 ip6_route_input(skb); 54 ip6_route_input(skb);
@@ -173,9 +173,9 @@ resubmit:
173 hash = nexthdr & (MAX_INET_PROTOS - 1); 173 hash = nexthdr & (MAX_INET_PROTOS - 1);
174 if ((ipprot = rcu_dereference(inet6_protos[hash])) != NULL) { 174 if ((ipprot = rcu_dereference(inet6_protos[hash])) != NULL) {
175 int ret; 175 int ret;
176 176
177 if (ipprot->flags & INET6_PROTO_FINAL) { 177 if (ipprot->flags & INET6_PROTO_FINAL) {
178 struct ipv6hdr *hdr; 178 struct ipv6hdr *hdr;
179 179
180 /* Free reference early: we don't need it any more, 180 /* Free reference early: we don't need it any more,
181 and it may hold ip_conntrack module loaded 181 and it may hold ip_conntrack module loaded
@@ -192,9 +192,9 @@ resubmit:
192 goto discard; 192 goto discard;
193 } 193 }
194 if (!(ipprot->flags & INET6_PROTO_NOPOLICY) && 194 if (!(ipprot->flags & INET6_PROTO_NOPOLICY) &&
195 !xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) 195 !xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb))
196 goto discard; 196 goto discard;
197 197
198 ret = ipprot->handler(&skb); 198 ret = ipprot->handler(&skb);
199 if (ret > 0) 199 if (ret > 0)
200 goto resubmit; 200 goto resubmit;
@@ -205,8 +205,8 @@ resubmit:
205 if (xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) { 205 if (xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) {
206 IP6_INC_STATS_BH(idev, IPSTATS_MIB_INUNKNOWNPROTOS); 206 IP6_INC_STATS_BH(idev, IPSTATS_MIB_INUNKNOWNPROTOS);
207 icmpv6_send(skb, ICMPV6_PARAMPROB, 207 icmpv6_send(skb, ICMPV6_PARAMPROB,
208 ICMPV6_UNK_NEXTHDR, nhoff, 208 ICMPV6_UNK_NEXTHDR, nhoff,
209 skb->dev); 209 skb->dev);
210 } 210 }
211 } else 211 } else
212 IP6_INC_STATS_BH(idev, IPSTATS_MIB_INDELIVERS); 212 IP6_INC_STATS_BH(idev, IPSTATS_MIB_INDELIVERS);
@@ -253,7 +253,7 @@ int ip6_mc_input(struct sk_buff *skb)
253 struct dst_entry *dst; 253 struct dst_entry *dst;
254 254
255 dst = skb->dst; 255 dst = skb->dst;
256 256
257 if (deliver) { 257 if (deliver) {
258 skb2 = skb_clone(skb, GFP_ATOMIC); 258 skb2 = skb_clone(skb, GFP_ATOMIC);
259 dst_output(skb2); 259 dst_output(skb2);