|
@@ -356,6 +356,7 @@ static u32 esp6_get_mtu(struct xfrm_state *x, int mtu)
|
|
|
static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
|
|
int type, int code, int offset, __be32 info)
|
|
|
{
|
|
|
+ struct net *net = dev_net(skb->dev);
|
|
|
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
|
|
|
struct ip_esp_hdr *esph = (struct ip_esp_hdr *)(skb->data + offset);
|
|
|
struct xfrm_state *x;
|
|
@@ -364,7 +365,7 @@ static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
|
|
type != ICMPV6_PKT_TOOBIG)
|
|
|
return;
|
|
|
|
|
|
- x = xfrm_state_lookup(&init_net, (xfrm_address_t *)&iph->daddr, esph->spi, IPPROTO_ESP, AF_INET6);
|
|
|
+ x = xfrm_state_lookup(net, (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",
|