Jan Engelhardt wrote: > +static bool > +tee_tg_route4(struct sk_buff *skb, const struct xt_tee_tginfo *info) > +{ > + const struct iphdr *iph = ip_hdr(skb); > + struct rtable *rt; > + struct flowi fl; > + > + memset(&fl, 0, sizeof(fl)); > + fl.nl_u.ip4_u.daddr = info->gw.ip; > + fl.nl_u.ip4_u.tos = RT_TOS(iph->tos); > + fl.nl_u.ip4_u.scope = RT_SCOPE_UNIVERSE; > + > + if (ip_route_output_key(dev_net(skb->dev), &rt, &fl) != 0) { You can't use skb->dev in modules that are valid to use in LOCAL_OUT. > +#ifdef WITH_CONNTRACK > + nf_conntrack_put(skb->nfct); > + skb->nfct = &tee_track.ct_general; > + skb->nfctinfo = IP_CT_NEW; > + nf_conntrack_get(skb->nfct); > +#endif Why do we still need this? I thought the reentrancy-counter should take care of this? -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html