diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2019-09-11 13:25:24 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2019-09-11 13:25:24 -0400 |
commit | 408bbe98abfe0703f5d994d11ac760c5ad6801da (patch) | |
tree | c36a14132780b14ce6e6cefacd801ad179bdaeb6 | |
parent | 0d1087bb6f7227a397488466a922d0c53e64daee (diff) | |
download | longterm-queue-4.18-408bbe98abfe0703f5d994d11ac760c5ad6801da.tar.gz |
ip: drop patch for 4.19+
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | queue/ipv4-not-do-cache-for-local-delivery-if-bc_forwardin.patch | 88 | ||||
-rw-r--r-- | queue/series | 1 |
2 files changed, 0 insertions, 89 deletions
diff --git a/queue/ipv4-not-do-cache-for-local-delivery-if-bc_forwardin.patch b/queue/ipv4-not-do-cache-for-local-delivery-if-bc_forwardin.patch deleted file mode 100644 index ef91620..0000000 --- a/queue/ipv4-not-do-cache-for-local-delivery-if-bc_forwardin.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 0a90478b93a46bdcd56ba33c37566a993e455d54 Mon Sep 17 00:00:00 2001 -From: Xin Long <lucien.xin@gmail.com> -Date: Sun, 2 Jun 2019 19:10:24 +0800 -Subject: [PATCH] ipv4: not do cache for local delivery if bc_forwarding is - enabled - -commit 0a90478b93a46bdcd56ba33c37566a993e455d54 upstream. - -With the topo: - - h1 ---| rp1 | - | route rp3 |--- h3 (192.168.200.1) - h2 ---| rp2 | - -If rp1 bc_forwarding is set while rp2 bc_forwarding is not, after -doing "ping 192.168.200.255" on h1, then ping 192.168.200.255 on -h2, and the packets can still be forwared. - -This issue was caused by the input route cache. It should only do -the cache for either bc forwarding or local delivery. Otherwise, -local delivery can use the route cache for bc forwarding of other -interfaces. - -This patch is to fix it by not doing cache for local delivery if -all.bc_forwarding is enabled. - -Note that we don't fix it by checking route cache local flag after -rt_cache_valid() in "local_input:" and "ip_mkroute_input", as the -common route code shouldn't be touched for bc_forwarding. - -Fixes: 5cbf777cfdf6 ("route: add support for directed broadcast forwarding") -Reported-by: Jianlin Shi <jishi@redhat.com> -Signed-off-by: Xin Long <lucien.xin@gmail.com> -Signed-off-by: David S. Miller <davem@davemloft.net> - -diff --git a/net/ipv4/route.c b/net/ipv4/route.c -index 11ddc276776e..91bf75b8ac1c 100644 ---- a/net/ipv4/route.c -+++ b/net/ipv4/route.c -@@ -1985,7 +1985,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr, - u32 itag = 0; - struct rtable *rth; - struct flowi4 fl4; -- bool do_cache; -+ bool do_cache = true; - - /* IP on this device is disabled. */ - -@@ -2062,6 +2062,9 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr, - if (res->type == RTN_BROADCAST) { - if (IN_DEV_BFORWARD(in_dev)) - goto make_route; -+ /* not do cache if bc_forwarding is enabled */ -+ if (IPV4_DEVCONF_ALL(net, BC_FORWARDING)) -+ do_cache = false; - goto brd_input; - } - -@@ -2099,18 +2102,15 @@ brd_input: - RT_CACHE_STAT_INC(in_brd); - - local_input: -- do_cache = false; -- if (res->fi) { -- if (!itag) { -- struct fib_nh_common *nhc = FIB_RES_NHC(*res); -+ do_cache &= res->fi && !itag; -+ if (do_cache) { -+ struct fib_nh_common *nhc = FIB_RES_NHC(*res); - -- rth = rcu_dereference(nhc->nhc_rth_input); -- if (rt_cache_valid(rth)) { -- skb_dst_set_noref(skb, &rth->dst); -- err = 0; -- goto out; -- } -- do_cache = true; -+ rth = rcu_dereference(nhc->nhc_rth_input); -+ if (rt_cache_valid(rth)) { -+ skb_dst_set_noref(skb, &rth->dst); -+ err = 0; -+ goto out; - } - } - --- -2.9.5 - diff --git a/queue/series b/queue/series index d23dd2c..3b8cdef 100644 --- a/queue/series +++ b/queue/series @@ -84,7 +84,6 @@ of-overlay-set-node-fields-from-properties-when-add-.patch media-uvcvideo-Fix-uvc_alloc_entity-allocation-align.patch ethtool-fix-potential-userspace-buffer-overflow.patch Fix-memory-leak-in-sctp_process_init.patch -ipv4-not-do-cache-for-local-delivery-if-bc_forwardin.patch ipv6-fix-the-check-before-getting-the-cookie-in-rt6_.patch neighbor-Call-__ipv4_neigh_lookup_noref-in-neigh_xmi.patch net-ethernet-ti-cpsw_ethtool-fix-ethtool-ring-param-.patch |