From a350540ee9ad2b0a58aa3e8751e147ddd03ff188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Thu, 14 Sep 2017 10:50:39 +0200 Subject: [PATCH] drop patches applied upstream --- ...et-reduce-skb_warn_bad_offload-noise.patch | 51 ------------------ ...t_rbtree-handle-re-addition-element-.patch | 54 ------------------- ...cp-reset-sk_rx_dst-in-tcp_disconnect.patch | 43 --------------- Makefile | 3 -- 4 files changed, 151 deletions(-) delete mode 100644 0001-Revert-net-reduce-skb_warn_bad_offload-noise.patch delete mode 100644 0001-netfilter-nft_set_rbtree-handle-re-addition-element-.patch delete mode 100644 0001-tcp-reset-sk_rx_dst-in-tcp_disconnect.patch diff --git a/0001-Revert-net-reduce-skb_warn_bad_offload-noise.patch b/0001-Revert-net-reduce-skb_warn_bad_offload-noise.patch deleted file mode 100644 index 46cb266..0000000 --- a/0001-Revert-net-reduce-skb_warn_bad_offload-noise.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b776ff7db868804129b9f364825fd4e949a493ee Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= -Date: Tue, 19 Sep 2017 09:36:43 +0200 -Subject: [PATCH] Revert "net: reduce skb_warn_bad_offload() noise" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This reverts commit b2504a5dbef3305ef41988ad270b0e8ec289331c. - -Signed-off-by: Fabian Grünbichler ---- - net/core/dev.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/net/core/dev.c b/net/core/dev.c -index 73d5644fa834..7c8959936169 100644 ---- a/net/core/dev.c -+++ b/net/core/dev.c -@@ -2702,12 +2702,11 @@ static inline bool skb_needs_check(struct sk_buff *skb, bool tx_path) - struct sk_buff *__skb_gso_segment(struct sk_buff *skb, - netdev_features_t features, bool tx_path) - { -- struct sk_buff *segs; -- - if (unlikely(skb_needs_check(skb, tx_path))) { - int err; - -- /* We're going to init ->check field in TCP or UDP header */ -+ skb_warn_bad_offload(skb); -+ - err = skb_cow_head(skb, 0); - if (err < 0) - return ERR_PTR(err); -@@ -2735,12 +2734,7 @@ struct sk_buff *__skb_gso_segment(struct sk_buff *skb, - skb_reset_mac_header(skb); - skb_reset_mac_len(skb); - -- segs = skb_mac_gso_segment(skb, features); -- -- if (unlikely(skb_needs_check(skb, tx_path))) -- skb_warn_bad_offload(skb); -- -- return segs; -+ return skb_mac_gso_segment(skb, features); - } - EXPORT_SYMBOL(__skb_gso_segment); - --- -2.11.0 - diff --git a/0001-netfilter-nft_set_rbtree-handle-re-addition-element-.patch b/0001-netfilter-nft_set_rbtree-handle-re-addition-element-.patch deleted file mode 100644 index edf749f..0000000 --- a/0001-netfilter-nft_set_rbtree-handle-re-addition-element-.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 6fa9fc0ce1032710ce017c444b0c66eaf9e77782 Mon Sep 17 00:00:00 2001 -From: Pablo Neira Ayuso -Date: Mon, 22 May 2017 00:17:30 +0200 -Subject: [PATCH linux] netfilter: nft_set_rbtree: handle re-addition element - after deletion - -The existing code selects no next branch to be inspected when -re-inserting an inactive element into the rb-tree, looping endlessly. -This patch restricts the check for active elements to the EEXIST case -only. - -Fixes: e701001e7cbe ("netfilter: nft_rbtree: allow adjacent intervals with dynamic updates") -Reported-by: Wolfgang Bumiller -Signed-off-by: Pablo Neira Ayuso ---- - net/netfilter/nft_set_rbtree.c | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c -index f06f55e..51ff879 100644 ---- a/net/netfilter/nft_set_rbtree.c -+++ b/net/netfilter/nft_set_rbtree.c -@@ -118,17 +118,17 @@ static int __nft_rbtree_insert(const struct net *net, const struct nft_set *set, - else if (d > 0) - p = &parent->rb_right; - else { -- if (nft_set_elem_active(&rbe->ext, genmask)) { -- if (nft_rbtree_interval_end(rbe) && -- !nft_rbtree_interval_end(new)) -- p = &parent->rb_left; -- else if (!nft_rbtree_interval_end(rbe) && -- nft_rbtree_interval_end(new)) -- p = &parent->rb_right; -- else { -- *ext = &rbe->ext; -- return -EEXIST; -- } -+ if (nft_rbtree_interval_end(rbe) && -+ !nft_rbtree_interval_end(new)) { -+ p = &parent->rb_left; -+ } else if (!nft_rbtree_interval_end(rbe) && -+ nft_rbtree_interval_end(new)) { -+ p = &parent->rb_right; -+ } else if (nft_set_elem_active(&rbe->ext, genmask)) { -+ *ext = &rbe->ext; -+ return -EEXIST; -+ } else { -+ p = &parent->rb_left; - } - } - } --- -2.1.4 - diff --git a/0001-tcp-reset-sk_rx_dst-in-tcp_disconnect.patch b/0001-tcp-reset-sk_rx_dst-in-tcp_disconnect.patch deleted file mode 100644 index 8c0648b..0000000 --- a/0001-tcp-reset-sk_rx_dst-in-tcp_disconnect.patch +++ /dev/null @@ -1,43 +0,0 @@ -From d747a7a51b00984127a88113cdbbc26f91e9d815 Mon Sep 17 00:00:00 2001 -From: WANG Cong -Date: Sat, 24 Jun 2017 23:50:30 -0700 -Subject: [PATCH] tcp: reset sk_rx_dst in tcp_disconnect() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We have to reset the sk->sk_rx_dst when we disconnect a TCP -connection, because otherwise when we re-connect it this -dst reference is simply overridden in tcp_finish_connect(). - -This fixes a dst leak which leads to a loopback dev refcnt -leak. It is a long-standing bug, Kevin reported a very similar -(if not same) bug before. Thanks to Andrei for providing such -a reliable reproducer which greatly narrows down the problem. - -Fixes: 41063e9dd119 ("ipv4: Early TCP socket demux.") -Reported-by: Andrei Vagin -Reported-by: Kevin Xu -Signed-off-by: Cong Wang -Signed-off-by: David S. Miller -Signed-off-by: Fabian Grünbichler ---- - net/ipv4/tcp.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c -index b5ea036ca781..40aca7803cf2 100644 ---- a/net/ipv4/tcp.c -+++ b/net/ipv4/tcp.c -@@ -2330,6 +2330,8 @@ int tcp_disconnect(struct sock *sk, int flags) - tcp_init_send_head(sk); - memset(&tp->rx_opt, 0, sizeof(tp->rx_opt)); - __sk_dst_reset(sk); -+ dst_release(sk->sk_rx_dst); -+ sk->sk_rx_dst = NULL; - tcp_saved_syn_free(tp); - - /* Clean up fastopen related fields */ --- -2.11.0 - diff --git a/Makefile b/Makefile index f03f760..7a9872f 100644 --- a/Makefile +++ b/Makefile @@ -244,9 +244,6 @@ ${KERNEL_SRC}/README: ${KERNEL_SRC_SUBMODULE} | submodules #cd ${KERNEL_SRC}; patch -p1 <../vhost-net-extend-device-allocation-to-vmalloc.patch cd ${KERNEL_SRC}; patch -p1 < ../kvm-dynamic-halt-polling-disable-default.patch cd ${KERNEL_SRC}; patch -p1 < ../cgroup-cpuset-add-cpuset.remap_cpus.patch - cd ${KERNEL_SRC}; patch -p1 < ../0001-netfilter-nft_set_rbtree-handle-re-addition-element-.patch # DoS from within (unpriv) containers - cd ${KERNEL_SRC}; patch -p1 < ../0001-tcp-reset-sk_rx_dst-in-tcp_disconnect.patch - cd ${KERNEL_SRC}; patch -p1 < ../0001-Revert-net-reduce-skb_warn_bad_offload-noise.patch sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/' touch $@