]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 31 Jan 2019 15:04:47 +0000 (16:04 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 31 Jan 2019 15:04:47 +0000 (16:04 +0100)
added patches:
fix-net-ipv4-do-not-handle-duplicate-fragments-as-overlapping.patch

queue-4.19/fix-net-ipv4-do-not-handle-duplicate-fragments-as-overlapping.patch [new file with mode: 0644]

diff --git a/queue-4.19/fix-net-ipv4-do-not-handle-duplicate-fragments-as-overlapping.patch b/queue-4.19/fix-net-ipv4-do-not-handle-duplicate-fragments-as-overlapping.patch
new file mode 100644 (file)
index 0000000..16c8599
--- /dev/null
@@ -0,0 +1,43 @@
+From foo@baz Thu Jan 31 15:59:51 CET 2019
+Date: Thu, 31 Jan 2019 15:59:51 +0100
+To: Greg KH <gregkh@linuxfoundation.org>
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Subject: Fix "net: ipv4: do not handle duplicate fragments as overlapping"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+ade446403bfb ("net: ipv4: do not handle duplicate fragments as
+overlapping") was backported to many stable trees, but it had a problem
+that was "accidentally" fixed by the upstream commit 0ff89efb5246 ("ip:
+fail fast on IP defrag errors")
+
+This is the fixup for that problem as we do not want the larger patch in
+the older stable trees.
+
+Fixes: ade446403bfb ("net: ipv4: do not handle duplicate fragments as overlapping")
+Reported-by: Ivan Babrou <ivan@cloudflare.com>
+Reported-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/ipv4/ip_fragment.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/ipv4/ip_fragment.c
++++ b/net/ipv4/ip_fragment.c
+@@ -425,6 +425,7 @@ static int ip_frag_queue(struct ipq *qp,
+        * fragment.
+        */
++      err = -EINVAL;
+       /* Find out where to put this fragment.  */
+       prev_tail = qp->q.fragments_tail;
+       if (!prev_tail)
+@@ -501,7 +502,6 @@ static int ip_frag_queue(struct ipq *qp,
+ discard_qp:
+       inet_frag_kill(&qp->q);
+-      err = -EINVAL;
+       __IP_INC_STATS(net, IPSTATS_MIB_REASM_OVERLAPS);
+ err:
+       kfree_skb(skb);