diff options
| -rw-r--r-- | include/net/ipv6.h | 2 | ||||
| -rw-r--r-- | include/net/protocol.h | 2 | ||||
| -rw-r--r-- | include/net/xfrm.h | 2 | ||||
| -rw-r--r-- | net/dccp/ipv6.c | 3 | ||||
| -rw-r--r-- | net/ipv6/exthdrs.c | 41 | ||||
| -rw-r--r-- | net/ipv6/icmp.c | 5 | ||||
| -rw-r--r-- | net/ipv6/ip6_input.c | 4 | ||||
| -rw-r--r-- | net/ipv6/reassembly.c | 3 | ||||
| -rw-r--r-- | net/ipv6/tcp_ipv6.c | 3 | ||||
| -rw-r--r-- | net/ipv6/tunnel6.c | 6 | ||||
| -rw-r--r-- | net/ipv6/udp.c | 7 | ||||
| -rw-r--r-- | net/ipv6/udp_impl.h | 2 | ||||
| -rw-r--r-- | net/ipv6/udplite.c | 4 | ||||
| -rw-r--r-- | net/ipv6/xfrm6_input.c | 4 | ||||
| -rw-r--r-- | net/sctp/ipv6.c | 4 |
15 files changed, 36 insertions, 56 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index a0f1042037f2..cc796cbc1b26 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
| @@ -249,7 +249,7 @@ extern int ip6_ra_control(struct sock *sk, int sel, | |||
| 249 | void (*destructor)(struct sock *)); | 249 | void (*destructor)(struct sock *)); |
| 250 | 250 | ||
| 251 | 251 | ||
| 252 | extern int ipv6_parse_hopopts(struct sk_buff **skbp); | 252 | extern int ipv6_parse_hopopts(struct sk_buff *skb); |
| 253 | 253 | ||
| 254 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); | 254 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); |
| 255 | extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, | 255 | extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, |
diff --git a/include/net/protocol.h b/include/net/protocol.h index 105bf12b0c79..1166ffb4b3ec 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h | |||
| @@ -45,7 +45,7 @@ struct net_protocol { | |||
| 45 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) | 45 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) |
| 46 | struct inet6_protocol | 46 | struct inet6_protocol |
| 47 | { | 47 | { |
| 48 | int (*handler)(struct sk_buff **skb); | 48 | int (*handler)(struct sk_buff *skb); |
| 49 | 49 | ||
| 50 | void (*err_handler)(struct sk_buff *skb, | 50 | void (*err_handler)(struct sk_buff *skb, |
| 51 | struct inet6_skb_parm *opt, | 51 | struct inet6_skb_parm *opt, |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 77be396ca633..0e844845f3f4 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
| @@ -1051,7 +1051,7 @@ extern int xfrm4_output(struct sk_buff *skb); | |||
| 1051 | extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family); | 1051 | extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family); |
| 1052 | extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family); | 1052 | extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family); |
| 1053 | extern int xfrm6_rcv_spi(struct sk_buff *skb, __be32 spi); | 1053 | extern int xfrm6_rcv_spi(struct sk_buff *skb, __be32 spi); |
| 1054 | extern int xfrm6_rcv(struct sk_buff **pskb); | 1054 | extern int xfrm6_rcv(struct sk_buff *skb); |
| 1055 | extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr, | 1055 | extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr, |
| 1056 | xfrm_address_t *saddr, u8 proto); | 1056 | xfrm_address_t *saddr, u8 proto); |
| 1057 | extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler, unsigned short family); | 1057 | extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler, unsigned short family); |
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 006a3834fbcd..cac53548c2d8 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c | |||
| @@ -767,10 +767,9 @@ discard: | |||
| 767 | return 0; | 767 | return 0; |
| 768 | } | 768 | } |
| 769 | 769 | ||
| 770 | static int dccp_v6_rcv(struct sk_buff **pskb) | 770 | static int dccp_v6_rcv(struct sk_buff *skb) |
| 771 | { | 771 | { |
| 772 | const struct dccp_hdr *dh; | 772 | const struct dccp_hdr *dh; |
| 773 | struct sk_buff *skb = *pskb; | ||
| 774 | struct sock *sk; | 773 | struct sock *sk; |
| 775 | int min_cov; | 774 | int min_cov; |
| 776 | 775 | ||
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c index 0ff2bf12ecd1..1e89efd38a0c 100644 --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c | |||
| @@ -102,7 +102,7 @@ EXPORT_SYMBOL_GPL(ipv6_find_tlv); | |||
| 102 | 102 | ||
| 103 | struct tlvtype_proc { | 103 | struct tlvtype_proc { |
| 104 | int type; | 104 | int type; |
| 105 | int (*func)(struct sk_buff **skbp, int offset); | 105 | int (*func)(struct sk_buff *skb, int offset); |
| 106 | }; | 106 | }; |
| 107 | 107 | ||
| 108 | /********************* | 108 | /********************* |
| @@ -111,10 +111,8 @@ struct tlvtype_proc { | |||
| 111 | 111 | ||
| 112 | /* An unknown option is detected, decide what to do */ | 112 | /* An unknown option is detected, decide what to do */ |
| 113 | 113 | ||
| 114 | static int ip6_tlvopt_unknown(struct sk_buff **skbp, int optoff) | 114 | static int ip6_tlvopt_unknown(struct sk_buff *skb, int optoff) |
| 115 | { | 115 | { |
| 116 | struct sk_buff *skb = *skbp; | ||
| 117 | |||
| 118 | switch ((skb_network_header(skb)[optoff] & 0xC0) >> 6) { | 116 | switch ((skb_network_header(skb)[optoff] & 0xC0) >> 6) { |
| 119 | case 0: /* ignore */ | 117 | case 0: /* ignore */ |
| 120 | return 1; | 118 | return 1; |
| @@ -139,9 +137,8 @@ static int ip6_tlvopt_unknown(struct sk_buff **skbp, int optoff) | |||
| 139 | 137 | ||
| 140 | /* Parse tlv encoded option header (hop-by-hop or destination) */ | 138 | /* Parse tlv encoded option header (hop-by-hop or destination) */ |
| 141 | 139 | ||
| 142 | static int ip6_parse_tlv(struct tlvtype_proc *procs, struct sk_buff **skbp) | 140 | static int ip6_parse_tlv(struct tlvtype_proc *procs, struct sk_buff *skb) |
| 143 | { | 141 | { |
| 144 | struct sk_buff *skb = *skbp; | ||
| 145 | struct tlvtype_proc *curr; | 142 | struct tlvtype_proc *curr; |
| 146 | const unsigned char *nh = skb_network_header(skb); | 143 | const unsigned char *nh = skb_network_header(skb); |
| 147 | int off = skb_network_header_len(skb); | 144 | int off = skb_network_header_len(skb); |
| @@ -172,13 +169,13 @@ static int ip6_parse_tlv(struct tlvtype_proc *procs, struct sk_buff **skbp) | |||
| 172 | /* type specific length/alignment | 169 | /* type specific length/alignment |
| 173 | checks will be performed in the | 170 | checks will be performed in the |
| 174 | func(). */ | 171 | func(). */ |
| 175 | if (curr->func(skbp, off) == 0) | 172 | if (curr->func(skb, off) == 0) |
| 176 | return 0; | 173 | return 0; |
| 177 | break; | 174 | break; |
| 178 | } | 175 | } |
| 179 | } | 176 | } |
| 180 | if (curr->type < 0) { | 177 | if (curr->type < 0) { |
| 181 | if (ip6_tlvopt_unknown(skbp, off) == 0) | 178 | if (ip6_tlvopt_unknown(skb, off) == 0) |
| 182 | return 0; | 179 | return 0; |
| 183 | } | 180 | } |
| 184 | break; | 181 | break; |
| @@ -198,9 +195,8 @@ bad: | |||
| 198 | *****************************/ | 195 | *****************************/ |
| 199 | 196 | ||
| 200 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) | 197 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) |
| 201 | static int ipv6_dest_hao(struct sk_buff **skbp, int optoff) | 198 | static int ipv6_dest_hao(struct sk_buff *skb, int optoff) |
| 202 | { | 199 | { |
| 203 | struct sk_buff *skb = *skbp; | ||
| 204 | struct ipv6_destopt_hao *hao; | 200 | struct ipv6_destopt_hao *hao; |
| 205 | struct inet6_skb_parm *opt = IP6CB(skb); | 201 | struct inet6_skb_parm *opt = IP6CB(skb); |
| 206 | struct ipv6hdr *ipv6h = ipv6_hdr(skb); | 202 | struct ipv6hdr *ipv6h = ipv6_hdr(skb); |
| @@ -271,9 +267,8 @@ static struct tlvtype_proc tlvprocdestopt_lst[] = { | |||
| 271 | {-1, NULL} | 267 | {-1, NULL} |
| 272 | }; | 268 | }; |
| 273 | 269 | ||
| 274 | static int ipv6_destopt_rcv(struct sk_buff **skbp) | 270 | static int ipv6_destopt_rcv(struct sk_buff *skb) |
| 275 | { | 271 | { |
| 276 | struct sk_buff *skb = *skbp; | ||
| 277 | struct inet6_skb_parm *opt = IP6CB(skb); | 272 | struct inet6_skb_parm *opt = IP6CB(skb); |
| 278 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) | 273 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) |
| 279 | __u16 dstbuf; | 274 | __u16 dstbuf; |
| @@ -295,9 +290,8 @@ static int ipv6_destopt_rcv(struct sk_buff **skbp) | |||
| 295 | #endif | 290 | #endif |
| 296 | 291 | ||
| 297 | dst = dst_clone(skb->dst); | 292 | dst = dst_clone(skb->dst); |
| 298 | if (ip6_parse_tlv(tlvprocdestopt_lst, skbp)) { | 293 | if (ip6_parse_tlv(tlvprocdestopt_lst, skb)) { |
| 299 | dst_release(dst); | 294 | dst_release(dst); |
| 300 | skb = *skbp; | ||
| 301 | skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3; | 295 | skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3; |
| 302 | opt = IP6CB(skb); | 296 | opt = IP6CB(skb); |
| 303 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) | 297 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) |
| @@ -328,10 +322,8 @@ void __init ipv6_destopt_init(void) | |||
| 328 | NONE header. No data in packet. | 322 | NONE header. No data in packet. |
| 329 | ********************************/ | 323 | ********************************/ |
| 330 | 324 | ||
| 331 | static int ipv6_nodata_rcv(struct sk_buff **skbp) | 325 | static int ipv6_nodata_rcv(struct sk_buff *skb) |
| 332 | { | 326 | { |
| 333 | struct sk_buff *skb = *skbp; | ||
| 334 | |||
| 335 | kfree_skb(skb); | 327 | kfree_skb(skb); |
| 336 | return 0; | 328 | return 0; |
| 337 | } | 329 | } |
| @@ -351,9 +343,8 @@ void __init ipv6_nodata_init(void) | |||
| 351 | Routing header. | 343 | Routing header. |
| 352 | ********************************/ | 344 | ********************************/ |
| 353 | 345 | ||
| 354 | static int ipv6_rthdr_rcv(struct sk_buff **skbp) | 346 | static int ipv6_rthdr_rcv(struct sk_buff *skb) |
| 355 | { | 347 | { |
| 356 | struct sk_buff *skb = *skbp; | ||
| 357 | struct inet6_skb_parm *opt = IP6CB(skb); | 348 | struct inet6_skb_parm *opt = IP6CB(skb); |
| 358 | struct in6_addr *addr = NULL; | 349 | struct in6_addr *addr = NULL; |
| 359 | struct in6_addr daddr; | 350 | struct in6_addr daddr; |
| @@ -565,9 +556,8 @@ static inline struct inet6_dev *ipv6_skb_idev(struct sk_buff *skb) | |||
| 565 | 556 | ||
| 566 | /* Router Alert as of RFC 2711 */ | 557 | /* Router Alert as of RFC 2711 */ |
| 567 | 558 | ||
| 568 | static int ipv6_hop_ra(struct sk_buff **skbp, int optoff) | 559 | static int ipv6_hop_ra(struct sk_buff *skb, int optoff) |
| 569 | { | 560 | { |
| 570 | struct sk_buff *skb = *skbp; | ||
| 571 | const unsigned char *nh = skb_network_header(skb); | 561 | const unsigned char *nh = skb_network_header(skb); |
| 572 | 562 | ||
| 573 | if (nh[optoff + 1] == 2) { | 563 | if (nh[optoff + 1] == 2) { |
| @@ -582,9 +572,8 @@ static int ipv6_hop_ra(struct sk_buff **skbp, int optoff) | |||
| 582 | 572 | ||
| 583 | /* Jumbo payload */ | 573 | /* Jumbo payload */ |
| 584 | 574 | ||
| 585 | static int ipv6_hop_jumbo(struct sk_buff **skbp, int optoff) | 575 | static int ipv6_hop_jumbo(struct sk_buff *skb, int optoff) |
| 586 | { | 576 | { |
| 587 | struct sk_buff *skb = *skbp; | ||
| 588 | const unsigned char *nh = skb_network_header(skb); | 577 | const unsigned char *nh = skb_network_header(skb); |
| 589 | u32 pkt_len; | 578 | u32 pkt_len; |
| 590 | 579 | ||
| @@ -635,9 +624,8 @@ static struct tlvtype_proc tlvprochopopt_lst[] = { | |||
| 635 | { -1, } | 624 | { -1, } |
| 636 | }; | 625 | }; |
| 637 | 626 | ||
| 638 | int ipv6_parse_hopopts(struct sk_buff **skbp) | 627 | int ipv6_parse_hopopts(struct sk_buff *skb) |
| 639 | { | 628 | { |
| 640 | struct sk_buff *skb = *skbp; | ||
| 641 | struct inet6_skb_parm *opt = IP6CB(skb); | 629 | struct inet6_skb_parm *opt = IP6CB(skb); |
| 642 | 630 | ||
| 643 | /* | 631 | /* |
| @@ -654,8 +642,7 @@ int ipv6_parse_hopopts(struct sk_buff **skbp) | |||
| 654 | } | 642 | } |
| 655 | 643 | ||
| 656 | opt->hop = sizeof(struct ipv6hdr); | 644 | opt->hop = sizeof(struct ipv6hdr); |
| 657 | if (ip6_parse_tlv(tlvprochopopt_lst, skbp)) { | 645 | if (ip6_parse_tlv(tlvprochopopt_lst, skb)) { |
| 658 | skb = *skbp; | ||
| 659 | skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3; | 646 | skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3; |
| 660 | opt = IP6CB(skb); | 647 | opt = IP6CB(skb); |
| 661 | opt->nhoff = sizeof(struct ipv6hdr); | 648 | opt->nhoff = sizeof(struct ipv6hdr); |
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 47b8ce232e84..9bb031fa1c2f 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c | |||
| @@ -82,7 +82,7 @@ EXPORT_SYMBOL(icmpv6msg_statistics); | |||
| 82 | static DEFINE_PER_CPU(struct socket *, __icmpv6_socket) = NULL; | 82 | static DEFINE_PER_CPU(struct socket *, __icmpv6_socket) = NULL; |
| 83 | #define icmpv6_socket __get_cpu_var(__icmpv6_socket) | 83 | #define icmpv6_socket __get_cpu_var(__icmpv6_socket) |
| 84 | 84 | ||
| 85 | static int icmpv6_rcv(struct sk_buff **pskb); | 85 | static int icmpv6_rcv(struct sk_buff *skb); |
| 86 | 86 | ||
| 87 | static struct inet6_protocol icmpv6_protocol = { | 87 | static struct inet6_protocol icmpv6_protocol = { |
| 88 | .handler = icmpv6_rcv, | 88 | .handler = icmpv6_rcv, |
| @@ -614,9 +614,8 @@ static void icmpv6_notify(struct sk_buff *skb, int type, int code, __be32 info) | |||
| 614 | * Handle icmp messages | 614 | * Handle icmp messages |
| 615 | */ | 615 | */ |
| 616 | 616 | ||
| 617 | static int icmpv6_rcv(struct sk_buff **pskb) | 617 | static int icmpv6_rcv(struct sk_buff *skb) |
| 618 | { | 618 | { |
| 619 | struct sk_buff *skb = *pskb; | ||
| 620 | struct net_device *dev = skb->dev; | 619 | struct net_device *dev = skb->dev; |
| 621 | struct inet6_dev *idev = __in6_dev_get(dev); | 620 | struct inet6_dev *idev = __in6_dev_get(dev); |
| 622 | struct in6_addr *saddr, *daddr; | 621 | struct in6_addr *saddr, *daddr; |
diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c index e7c85069a5db..fac6f7f9dd73 100644 --- a/net/ipv6/ip6_input.c +++ b/net/ipv6/ip6_input.c | |||
| @@ -125,7 +125,7 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt | |||
| 125 | } | 125 | } |
| 126 | 126 | ||
| 127 | if (hdr->nexthdr == NEXTHDR_HOP) { | 127 | if (hdr->nexthdr == NEXTHDR_HOP) { |
| 128 | if (ipv6_parse_hopopts(&skb) < 0) { | 128 | if (ipv6_parse_hopopts(skb) < 0) { |
| 129 | IP6_INC_STATS_BH(idev, IPSTATS_MIB_INHDRERRORS); | 129 | IP6_INC_STATS_BH(idev, IPSTATS_MIB_INHDRERRORS); |
| 130 | rcu_read_unlock(); | 130 | rcu_read_unlock(); |
| 131 | return 0; | 131 | return 0; |
| @@ -199,7 +199,7 @@ resubmit: | |||
| 199 | !xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) | 199 | !xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) |
| 200 | goto discard; | 200 | goto discard; |
| 201 | 201 | ||
| 202 | ret = ipprot->handler(&skb); | 202 | ret = ipprot->handler(skb); |
| 203 | if (ret > 0) | 203 | if (ret > 0) |
| 204 | goto resubmit; | 204 | goto resubmit; |
| 205 | else if (ret == 0) | 205 | else if (ret == 0) |
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index ed3c7b7912a8..6ad19cfc2025 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c | |||
| @@ -628,9 +628,8 @@ out_fail: | |||
| 628 | return -1; | 628 | return -1; |
| 629 | } | 629 | } |
| 630 | 630 | ||
| 631 | static int ipv6_frag_rcv(struct sk_buff **skbp) | 631 | static int ipv6_frag_rcv(struct sk_buff *skb) |
| 632 | { | 632 | { |
| 633 | struct sk_buff *skb = *skbp; | ||
| 634 | struct frag_hdr *fhdr; | 633 | struct frag_hdr *fhdr; |
| 635 | struct frag_queue *fq; | 634 | struct frag_queue *fq; |
| 636 | struct ipv6hdr *hdr = ipv6_hdr(skb); | 635 | struct ipv6hdr *hdr = ipv6_hdr(skb); |
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index a07b59c528f3..737b755342bd 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
| @@ -1668,9 +1668,8 @@ ipv6_pktoptions: | |||
| 1668 | return 0; | 1668 | return 0; |
| 1669 | } | 1669 | } |
| 1670 | 1670 | ||
| 1671 | static int tcp_v6_rcv(struct sk_buff **pskb) | 1671 | static int tcp_v6_rcv(struct sk_buff *skb) |
| 1672 | { | 1672 | { |
| 1673 | struct sk_buff *skb = *pskb; | ||
| 1674 | struct tcphdr *th; | 1673 | struct tcphdr *th; |
| 1675 | struct sock *sk; | 1674 | struct sock *sk; |
| 1676 | int ret; | 1675 | int ret; |
diff --git a/net/ipv6/tunnel6.c b/net/ipv6/tunnel6.c index 23e2809878ae..6323921b40be 100644 --- a/net/ipv6/tunnel6.c +++ b/net/ipv6/tunnel6.c | |||
| @@ -87,9 +87,8 @@ int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler, unsigned short family) | |||
| 87 | 87 | ||
| 88 | EXPORT_SYMBOL(xfrm6_tunnel_deregister); | 88 | EXPORT_SYMBOL(xfrm6_tunnel_deregister); |
| 89 | 89 | ||
| 90 | static int tunnel6_rcv(struct sk_buff **pskb) | 90 | static int tunnel6_rcv(struct sk_buff *skb) |
| 91 | { | 91 | { |
| 92 | struct sk_buff *skb = *pskb; | ||
| 93 | struct xfrm6_tunnel *handler; | 92 | struct xfrm6_tunnel *handler; |
| 94 | 93 | ||
| 95 | if (!pskb_may_pull(skb, sizeof(struct ipv6hdr))) | 94 | if (!pskb_may_pull(skb, sizeof(struct ipv6hdr))) |
| @@ -106,9 +105,8 @@ drop: | |||
| 106 | return 0; | 105 | return 0; |
| 107 | } | 106 | } |
| 108 | 107 | ||
| 109 | static int tunnel46_rcv(struct sk_buff **pskb) | 108 | static int tunnel46_rcv(struct sk_buff *skb) |
| 110 | { | 109 | { |
| 111 | struct sk_buff *skb = *pskb; | ||
| 112 | struct xfrm6_tunnel *handler; | 110 | struct xfrm6_tunnel *handler; |
| 113 | 111 | ||
| 114 | if (!pskb_may_pull(skb, sizeof(struct ipv6hdr))) | 112 | if (!pskb_may_pull(skb, sizeof(struct ipv6hdr))) |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 82ff26dd4470..caebad6ee510 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
| @@ -405,10 +405,9 @@ static inline int udp6_csum_init(struct sk_buff *skb, struct udphdr *uh, | |||
| 405 | return 0; | 405 | return 0; |
| 406 | } | 406 | } |
| 407 | 407 | ||
| 408 | int __udp6_lib_rcv(struct sk_buff **pskb, struct hlist_head udptable[], | 408 | int __udp6_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[], |
| 409 | int proto) | 409 | int proto) |
| 410 | { | 410 | { |
| 411 | struct sk_buff *skb = *pskb; | ||
| 412 | struct sock *sk; | 411 | struct sock *sk; |
| 413 | struct udphdr *uh; | 412 | struct udphdr *uh; |
| 414 | struct net_device *dev = skb->dev; | 413 | struct net_device *dev = skb->dev; |
| @@ -494,9 +493,9 @@ discard: | |||
| 494 | return 0; | 493 | return 0; |
| 495 | } | 494 | } |
| 496 | 495 | ||
| 497 | static __inline__ int udpv6_rcv(struct sk_buff **pskb) | 496 | static __inline__ int udpv6_rcv(struct sk_buff *skb) |
| 498 | { | 497 | { |
| 499 | return __udp6_lib_rcv(pskb, udp_hash, IPPROTO_UDP); | 498 | return __udp6_lib_rcv(skb, udp_hash, IPPROTO_UDP); |
| 500 | } | 499 | } |
| 501 | 500 | ||
| 502 | /* | 501 | /* |
diff --git a/net/ipv6/udp_impl.h b/net/ipv6/udp_impl.h index 6e252f318f7c..2d3fda601232 100644 --- a/net/ipv6/udp_impl.h +++ b/net/ipv6/udp_impl.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | #include <net/addrconf.h> | 6 | #include <net/addrconf.h> |
| 7 | #include <net/inet_common.h> | 7 | #include <net/inet_common.h> |
| 8 | 8 | ||
| 9 | extern int __udp6_lib_rcv(struct sk_buff **, struct hlist_head [], int ); | 9 | extern int __udp6_lib_rcv(struct sk_buff *, struct hlist_head [], int ); |
| 10 | extern void __udp6_lib_err(struct sk_buff *, struct inet6_skb_parm *, | 10 | extern void __udp6_lib_err(struct sk_buff *, struct inet6_skb_parm *, |
| 11 | int , int , int , __be32 , struct hlist_head []); | 11 | int , int , int , __be32 , struct hlist_head []); |
| 12 | 12 | ||
diff --git a/net/ipv6/udplite.c b/net/ipv6/udplite.c index f54016a55004..766566f7de47 100644 --- a/net/ipv6/udplite.c +++ b/net/ipv6/udplite.c | |||
| @@ -17,9 +17,9 @@ | |||
| 17 | 17 | ||
| 18 | DEFINE_SNMP_STAT(struct udp_mib, udplite_stats_in6) __read_mostly; | 18 | DEFINE_SNMP_STAT(struct udp_mib, udplite_stats_in6) __read_mostly; |
| 19 | 19 | ||
| 20 | static int udplitev6_rcv(struct sk_buff **pskb) | 20 | static int udplitev6_rcv(struct sk_buff *skb) |
| 21 | { | 21 | { |
| 22 | return __udp6_lib_rcv(pskb, udplite_hash, IPPROTO_UDPLITE); | 22 | return __udp6_lib_rcv(skb, udplite_hash, IPPROTO_UDPLITE); |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | static void udplitev6_err(struct sk_buff *skb, | 25 | static void udplitev6_err(struct sk_buff *skb, |
diff --git a/net/ipv6/xfrm6_input.c b/net/ipv6/xfrm6_input.c index c858537cec4b..02f69e544f6f 100644 --- a/net/ipv6/xfrm6_input.c +++ b/net/ipv6/xfrm6_input.c | |||
| @@ -133,9 +133,9 @@ drop: | |||
| 133 | 133 | ||
| 134 | EXPORT_SYMBOL(xfrm6_rcv_spi); | 134 | EXPORT_SYMBOL(xfrm6_rcv_spi); |
| 135 | 135 | ||
| 136 | int xfrm6_rcv(struct sk_buff **pskb) | 136 | int xfrm6_rcv(struct sk_buff *skb) |
| 137 | { | 137 | { |
| 138 | return xfrm6_rcv_spi(*pskb, 0); | 138 | return xfrm6_rcv_spi(skb, 0); |
| 139 | } | 139 | } |
| 140 | 140 | ||
| 141 | EXPORT_SYMBOL(xfrm6_rcv); | 141 | EXPORT_SYMBOL(xfrm6_rcv); |
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c index 9de3ddaa2768..eb4deaf58914 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c | |||
| @@ -954,9 +954,9 @@ static struct inet_protosw sctpv6_stream_protosw = { | |||
| 954 | .flags = SCTP_PROTOSW_FLAG, | 954 | .flags = SCTP_PROTOSW_FLAG, |
| 955 | }; | 955 | }; |
| 956 | 956 | ||
| 957 | static int sctp6_rcv(struct sk_buff **pskb) | 957 | static int sctp6_rcv(struct sk_buff *skb) |
| 958 | { | 958 | { |
| 959 | return sctp_rcv(*pskb) ? -1 : 0; | 959 | return sctp_rcv(skb) ? -1 : 0; |
| 960 | } | 960 | } |
| 961 | 961 | ||
| 962 | static struct inet6_protocol sctpv6_protocol = { | 962 | static struct inet6_protocol sctpv6_protocol = { |
