Author: nbd
Date: 2015-03-20 23:13:34 +0100 (Fri, 20 Mar 2015)
New Revision: 44913

Modified:
   trunk/target/linux/generic/patches-3.14/090-backport_netfilter_rtcache.patch
   trunk/target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch
   trunk/target/linux/generic/patches-3.19/050-backport_netfilter_rtcache.patch
   trunk/target/linux/generic/patches-4.0/050-backport_netfilter_rtcache.patch
Log:
kernel: fix ipsec related regression in the netfilter rtcache patch

Signed-off-by: Felix Fietkau <[email protected]>

Modified: 
trunk/target/linux/generic/patches-3.14/090-backport_netfilter_rtcache.patch
===================================================================
--- 
trunk/target/linux/generic/patches-3.14/090-backport_netfilter_rtcache.patch    
    2015-03-20 17:01:06 UTC (rev 44912)
+++ 
trunk/target/linux/generic/patches-3.14/090-backport_netfilter_rtcache.patch    
    2015-03-20 22:13:34 UTC (rev 44913)
@@ -115,7 +115,7 @@
  obj-$(CONFIG_NF_CT_PROTO_GRE) += nf_conntrack_proto_gre.o
 --- /dev/null
 +++ b/net/netfilter/nf_conntrack_rtcache.c
-@@ -0,0 +1,386 @@
+@@ -0,0 +1,390 @@
 +/* route cache for netfilter.
 + *
 + * (C) 2014 Red Hat GmbH
@@ -307,12 +307,16 @@
 +      enum ip_conntrack_info ctinfo;
 +      enum ip_conntrack_dir dir;
 +      struct nf_conn *ct;
++      struct dst_entry *dst = skb_dst(skb);
 +      int iif;
 +
 +      ct = nf_ct_get(skb, &ctinfo);
 +      if (!ct)
 +              return NF_ACCEPT;
 +
++      if (dst && dst_xfrm(dst))
++              return NF_ACCEPT;
++
 +      if (!nf_ct_is_confirmed(ct)) {
 +              if (WARN_ON(nf_ct_rtcache_find(ct)))
 +                      return NF_ACCEPT;

Modified: 
trunk/target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch
===================================================================
--- 
trunk/target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch    
    2015-03-20 17:01:06 UTC (rev 44912)
+++ 
trunk/target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch    
    2015-03-20 22:13:34 UTC (rev 44913)
@@ -115,7 +115,7 @@
  obj-$(CONFIG_NF_CT_PROTO_GRE) += nf_conntrack_proto_gre.o
 --- /dev/null
 +++ b/net/netfilter/nf_conntrack_rtcache.c
-@@ -0,0 +1,387 @@
+@@ -0,0 +1,391 @@
 +/* route cache for netfilter.
 + *
 + * (C) 2014 Red Hat GmbH
@@ -307,12 +307,16 @@
 +      enum ip_conntrack_info ctinfo;
 +      enum ip_conntrack_dir dir;
 +      struct nf_conn *ct;
++      struct dst_entry *dst = skb_dst(skb);
 +      int iif;
 +
 +      ct = nf_ct_get(skb, &ctinfo);
 +      if (!ct)
 +              return NF_ACCEPT;
 +
++      if (dst && dst_xfrm(dst))
++              return NF_ACCEPT;
++
 +      if (!nf_ct_is_confirmed(ct)) {
 +              if (WARN_ON(nf_ct_rtcache_find(ct)))
 +                      return NF_ACCEPT;

Modified: 
trunk/target/linux/generic/patches-3.19/050-backport_netfilter_rtcache.patch
===================================================================
--- 
trunk/target/linux/generic/patches-3.19/050-backport_netfilter_rtcache.patch    
    2015-03-20 17:01:06 UTC (rev 44912)
+++ 
trunk/target/linux/generic/patches-3.19/050-backport_netfilter_rtcache.patch    
    2015-03-20 22:13:34 UTC (rev 44913)
@@ -115,7 +115,7 @@
  obj-$(CONFIG_NF_CT_PROTO_GRE) += nf_conntrack_proto_gre.o
 --- /dev/null
 +++ b/net/netfilter/nf_conntrack_rtcache.c
-@@ -0,0 +1,387 @@
+@@ -0,0 +1,391 @@
 +/* route cache for netfilter.
 + *
 + * (C) 2014 Red Hat GmbH
@@ -307,12 +307,16 @@
 +      enum ip_conntrack_info ctinfo;
 +      enum ip_conntrack_dir dir;
 +      struct nf_conn *ct;
++      struct dst_entry *dst = skb_dst(skb);
 +      int iif;
 +
 +      ct = nf_ct_get(skb, &ctinfo);
 +      if (!ct)
 +              return NF_ACCEPT;
 +
++      if (dst && dst_xfrm(dst))
++              return NF_ACCEPT;
++
 +      if (!nf_ct_is_confirmed(ct)) {
 +              if (WARN_ON(nf_ct_rtcache_find(ct)))
 +                      return NF_ACCEPT;

Modified: 
trunk/target/linux/generic/patches-4.0/050-backport_netfilter_rtcache.patch
===================================================================
--- trunk/target/linux/generic/patches-4.0/050-backport_netfilter_rtcache.patch 
2015-03-20 17:01:06 UTC (rev 44912)
+++ trunk/target/linux/generic/patches-4.0/050-backport_netfilter_rtcache.patch 
2015-03-20 22:13:34 UTC (rev 44913)
@@ -115,7 +115,7 @@
  obj-$(CONFIG_NF_CT_PROTO_GRE) += nf_conntrack_proto_gre.o
 --- /dev/null
 +++ b/net/netfilter/nf_conntrack_rtcache.c
-@@ -0,0 +1,387 @@
+@@ -0,0 +1,391 @@
 +/* route cache for netfilter.
 + *
 + * (C) 2014 Red Hat GmbH
@@ -307,12 +307,16 @@
 +      enum ip_conntrack_info ctinfo;
 +      enum ip_conntrack_dir dir;
 +      struct nf_conn *ct;
++      struct dst_entry *dst = skb_dst(skb);
 +      int iif;
 +
 +      ct = nf_ct_get(skb, &ctinfo);
 +      if (!ct)
 +              return NF_ACCEPT;
 +
++      if (dst && dst_xfrm(dst))
++              return NF_ACCEPT;
++
 +      if (!nf_ct_is_confirmed(ct)) {
 +              if (WARN_ON(nf_ct_rtcache_find(ct)))
 +                      return NF_ACCEPT;
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to