--- a/net/netfilter/nf_nat_core.c +++ b/net/netfilter/nf_nat_core.c @@ -115,6 +115,8 @@ int nf_xfrm_me_harder(struct net *net, s return err; dst = skb_dst(skb); + if (!dst) + return -EHOSTUNREACH; if (dst->xfrm) dst = ((struct xfrm_dst *)dst)->route; if (!dst_hold_safe(dst))