[IPV6]: Replace sk_buff ** with sk_buff * in input handlers
With all the users of the double pointers removed from the IPv6 input path, this patch converts all occurances of sk_buff ** to sk_buff * in IPv6 input handlers. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a224be766b
commit
e5bbef20e0
@@ -102,7 +102,7 @@ EXPORT_SYMBOL_GPL(ipv6_find_tlv);
|
||||
|
||||
struct tlvtype_proc {
|
||||
int type;
|
||||
int (*func)(struct sk_buff **skbp, int offset);
|
||||
int (*func)(struct sk_buff *skb, int offset);
|
||||
};
|
||||
|
||||
/*********************
|
||||
@@ -111,10 +111,8 @@ struct tlvtype_proc {
|
||||
|
||||
/* An unknown option is detected, decide what to do */
|
||||
|
||||
static int ip6_tlvopt_unknown(struct sk_buff **skbp, int optoff)
|
||||
static int ip6_tlvopt_unknown(struct sk_buff *skb, int optoff)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
|
||||
switch ((skb_network_header(skb)[optoff] & 0xC0) >> 6) {
|
||||
case 0: /* ignore */
|
||||
return 1;
|
||||
@@ -139,9 +137,8 @@ static int ip6_tlvopt_unknown(struct sk_buff **skbp, int optoff)
|
||||
|
||||
/* Parse tlv encoded option header (hop-by-hop or destination) */
|
||||
|
||||
static int ip6_parse_tlv(struct tlvtype_proc *procs, struct sk_buff **skbp)
|
||||
static int ip6_parse_tlv(struct tlvtype_proc *procs, struct sk_buff *skb)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
struct tlvtype_proc *curr;
|
||||
const unsigned char *nh = skb_network_header(skb);
|
||||
int off = skb_network_header_len(skb);
|
||||
@@ -172,13 +169,13 @@ static int ip6_parse_tlv(struct tlvtype_proc *procs, struct sk_buff **skbp)
|
||||
/* type specific length/alignment
|
||||
checks will be performed in the
|
||||
func(). */
|
||||
if (curr->func(skbp, off) == 0)
|
||||
if (curr->func(skb, off) == 0)
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (curr->type < 0) {
|
||||
if (ip6_tlvopt_unknown(skbp, off) == 0)
|
||||
if (ip6_tlvopt_unknown(skb, off) == 0)
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
@@ -198,9 +195,8 @@ bad:
|
||||
*****************************/
|
||||
|
||||
#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
|
||||
static int ipv6_dest_hao(struct sk_buff **skbp, int optoff)
|
||||
static int ipv6_dest_hao(struct sk_buff *skb, int optoff)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
struct ipv6_destopt_hao *hao;
|
||||
struct inet6_skb_parm *opt = IP6CB(skb);
|
||||
struct ipv6hdr *ipv6h = ipv6_hdr(skb);
|
||||
@@ -271,9 +267,8 @@ static struct tlvtype_proc tlvprocdestopt_lst[] = {
|
||||
{-1, NULL}
|
||||
};
|
||||
|
||||
static int ipv6_destopt_rcv(struct sk_buff **skbp)
|
||||
static int ipv6_destopt_rcv(struct sk_buff *skb)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
struct inet6_skb_parm *opt = IP6CB(skb);
|
||||
#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
|
||||
__u16 dstbuf;
|
||||
@@ -295,9 +290,8 @@ static int ipv6_destopt_rcv(struct sk_buff **skbp)
|
||||
#endif
|
||||
|
||||
dst = dst_clone(skb->dst);
|
||||
if (ip6_parse_tlv(tlvprocdestopt_lst, skbp)) {
|
||||
if (ip6_parse_tlv(tlvprocdestopt_lst, skb)) {
|
||||
dst_release(dst);
|
||||
skb = *skbp;
|
||||
skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3;
|
||||
opt = IP6CB(skb);
|
||||
#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
|
||||
@@ -328,10 +322,8 @@ void __init ipv6_destopt_init(void)
|
||||
NONE header. No data in packet.
|
||||
********************************/
|
||||
|
||||
static int ipv6_nodata_rcv(struct sk_buff **skbp)
|
||||
static int ipv6_nodata_rcv(struct sk_buff *skb)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
|
||||
kfree_skb(skb);
|
||||
return 0;
|
||||
}
|
||||
@@ -351,9 +343,8 @@ void __init ipv6_nodata_init(void)
|
||||
Routing header.
|
||||
********************************/
|
||||
|
||||
static int ipv6_rthdr_rcv(struct sk_buff **skbp)
|
||||
static int ipv6_rthdr_rcv(struct sk_buff *skb)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
struct inet6_skb_parm *opt = IP6CB(skb);
|
||||
struct in6_addr *addr = NULL;
|
||||
struct in6_addr daddr;
|
||||
@@ -565,9 +556,8 @@ static inline struct inet6_dev *ipv6_skb_idev(struct sk_buff *skb)
|
||||
|
||||
/* Router Alert as of RFC 2711 */
|
||||
|
||||
static int ipv6_hop_ra(struct sk_buff **skbp, int optoff)
|
||||
static int ipv6_hop_ra(struct sk_buff *skb, int optoff)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
const unsigned char *nh = skb_network_header(skb);
|
||||
|
||||
if (nh[optoff + 1] == 2) {
|
||||
@@ -582,9 +572,8 @@ static int ipv6_hop_ra(struct sk_buff **skbp, int optoff)
|
||||
|
||||
/* Jumbo payload */
|
||||
|
||||
static int ipv6_hop_jumbo(struct sk_buff **skbp, int optoff)
|
||||
static int ipv6_hop_jumbo(struct sk_buff *skb, int optoff)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
const unsigned char *nh = skb_network_header(skb);
|
||||
u32 pkt_len;
|
||||
|
||||
@@ -635,9 +624,8 @@ static struct tlvtype_proc tlvprochopopt_lst[] = {
|
||||
{ -1, }
|
||||
};
|
||||
|
||||
int ipv6_parse_hopopts(struct sk_buff **skbp)
|
||||
int ipv6_parse_hopopts(struct sk_buff *skb)
|
||||
{
|
||||
struct sk_buff *skb = *skbp;
|
||||
struct inet6_skb_parm *opt = IP6CB(skb);
|
||||
|
||||
/*
|
||||
@@ -654,8 +642,7 @@ int ipv6_parse_hopopts(struct sk_buff **skbp)
|
||||
}
|
||||
|
||||
opt->hop = sizeof(struct ipv6hdr);
|
||||
if (ip6_parse_tlv(tlvprochopopt_lst, skbp)) {
|
||||
skb = *skbp;
|
||||
if (ip6_parse_tlv(tlvprochopopt_lst, skb)) {
|
||||
skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3;
|
||||
opt = IP6CB(skb);
|
||||
opt->nhoff = sizeof(struct ipv6hdr);
|
||||
|
Reference in New Issue
Block a user