diff options
Diffstat (limited to 'net/ipv6/esp6.c')
| -rw-r--r-- | net/ipv6/esp6.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c index 5aa8ec88f19..1ac7938dd9e 100644 --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c @@ -371,7 +371,7 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)  	iv = esp_tmp_iv(aead, tmp, seqhilen);  	req = esp_tmp_req(aead, iv);  	asg = esp_req_sg(aead, req); -	sg = asg + 1; +	sg = asg + sglists;  	skb->ip_summed = CHECKSUM_NONE; @@ -430,7 +430,7 @@ static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,  		     u8 type, u8 code, int offset, __be32 info)  {  	struct net *net = dev_net(skb->dev); -	struct ipv6hdr *iph = (struct ipv6hdr*)skb->data; +	const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data;  	struct ip_esp_hdr *esph = (struct ip_esp_hdr *)(skb->data + offset);  	struct xfrm_state *x; @@ -438,7 +438,8 @@ static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,  	    type != ICMPV6_PKT_TOOBIG)  		return; -	x = xfrm_state_lookup(net, skb->mark, (xfrm_address_t *)&iph->daddr, esph->spi, IPPROTO_ESP, AF_INET6); +	x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, +			      esph->spi, IPPROTO_ESP, AF_INET6);  	if (!x)  		return;  	printk(KERN_DEBUG "pmtu discovery on SA ESP/%08x/%pI6\n",  |