···4949 /* Called when a conntrack entry is destroyed */5050 void (*destroy)(struct nf_conn *ct);51515252- int (*error)(struct net *net, struct sk_buff *skb, unsigned int dataoff,5353- enum ip_conntrack_info *ctinfo,5252+ int (*error)(struct net *net, struct nf_conn *tmpl, struct sk_buff *skb,5353+ unsigned int dataoff, enum ip_conntrack_info *ctinfo,5454 u_int8_t pf, unsigned int hooknum);55555656 /* Print out the per-protocol part of the tuple. Return like seq_* */
+2-1
net/ipv4/netfilter/nf_conntrack_proto_icmp.c
···163163164164/* Small and modified version of icmp_rcv */165165static int166166-icmp_error(struct net *net, struct sk_buff *skb, unsigned int dataoff,166166+icmp_error(struct net *net, struct nf_conn *tmpl,167167+ struct sk_buff *skb, unsigned int dataoff,167168 enum ip_conntrack_info *ctinfo, u_int8_t pf, unsigned int hooknum)168169{169170 const struct icmphdr *icmph;
+2-1
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
···179179}180180181181static int182182-icmpv6_error(struct net *net, struct sk_buff *skb, unsigned int dataoff,182182+icmpv6_error(struct net *net, struct nf_conn *tmpl,183183+ struct sk_buff *skb, unsigned int dataoff,183184 enum ip_conntrack_info *ctinfo, u_int8_t pf, unsigned int hooknum)184185{185186 const struct icmp6hdr *icmp6h;
+2-1
net/netfilter/nf_conntrack_core.c
···799799 * inverse of the return code tells to the netfilter800800 * core what to do with the packet. */801801 if (l4proto->error != NULL) {802802- ret = l4proto->error(net, skb, dataoff, &ctinfo, pf, hooknum);802802+ ret = l4proto->error(net, tmpl, skb, dataoff, &ctinfo,803803+ pf, hooknum);803804 if (ret <= 0) {804805 NF_CT_STAT_INC_ATOMIC(net, error);805806 NF_CT_STAT_INC_ATOMIC(net, invalid);
+3-2
net/netfilter/nf_conntrack_proto_dccp.c
···561561 return NF_ACCEPT;562562}563563564564-static int dccp_error(struct net *net, struct sk_buff *skb,565565- unsigned int dataoff, enum ip_conntrack_info *ctinfo,564564+static int dccp_error(struct net *net, struct nf_conn *tmpl,565565+ struct sk_buff *skb, unsigned int dataoff,566566+ enum ip_conntrack_info *ctinfo,566567 u_int8_t pf, unsigned int hooknum)567568{568569 struct dccp_hdr _dh, *dh;
+1-1
net/netfilter/nf_conntrack_proto_tcp.c
···760760};761761762762/* Protect conntrack agaist broken packets. Code taken from ipt_unclean.c. */763763-static int tcp_error(struct net *net,763763+static int tcp_error(struct net *net, struct nf_conn *tmpl,764764 struct sk_buff *skb,765765 unsigned int dataoff,766766 enum ip_conntrack_info *ctinfo,
+2-2
net/netfilter/nf_conntrack_proto_udp.c
···9191 return true;9292}93939494-static int udp_error(struct net *net, struct sk_buff *skb, unsigned int dataoff,9595- enum ip_conntrack_info *ctinfo,9494+static int udp_error(struct net *net, struct nf_conn *tmpl, struct sk_buff *skb,9595+ unsigned int dataoff, enum ip_conntrack_info *ctinfo,9696 u_int8_t pf,9797 unsigned int hooknum)9898{
+1-1
net/netfilter/nf_conntrack_proto_udplite.c
···8989 return true;9090}91919292-static int udplite_error(struct net *net,9292+static int udplite_error(struct net *net, struct nf_conn *tmpl,9393 struct sk_buff *skb,9494 unsigned int dataoff,9595 enum ip_conntrack_info *ctinfo,