summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pagano <mpagano@gentoo.org>2015-05-03 19:54:53 +0000
committerMike Pagano <mpagano@gentoo.org>2015-05-03 19:54:53 +0000
commita7f93abca481c4afc0d6e0c515d41f2c4aef9e41 (patch)
tree9bf1a3a658bb6e0a5a095e671086bd2352805239
parentBFQ patchset for 4.0, v7r7. (diff)
downloadlinux-patches-a7f93abca481c4afc0d6e0c515d41f2c4aef9e41.tar.gz
linux-patches-a7f93abca481c4afc0d6e0c515d41f2c4aef9e41.tar.bz2
linux-patches-a7f93abca481c4afc0d6e0c515d41f2c4aef9e41.zip
Fix for lz4 compression. Thanks to Christian Xia. See bug #546422.
-rw-r--r--0000_README4
-rw-r--r--2910_lz4-compression-fix.patch30
2 files changed, 34 insertions, 0 deletions
diff --git a/0000_README b/0000_README
index bcce9675..f51d2994 100644
--- a/0000_README
+++ b/0000_README
@@ -71,6 +71,10 @@ Patch: 2905_s2disk-resume-image-fix.patch
From: Al Viro <viro <at> ZenIV.linux.org.uk>
Desc: Do not lock when UMH is waiting on current thread spawned by linuxrc. (bug #481344)
+Patch: 2910_lz4-compression-fix.patch
+From: https://bugs.gentoo.org/show_bug.cgi?id=546422
+Desc: Fix for lz4 compression regression. Thanks to Christian Xia. See bug #546422.
+
Patch: 4200_fbcondecor-3.19.patch
From: http://www.mepiscommunity.org/fbcondecor
Desc: Bootsplash ported by Marco. (Bug #539616)
diff --git a/2910_lz4-compression-fix.patch b/2910_lz4-compression-fix.patch
new file mode 100644
index 00000000..1c55f322
--- /dev/null
+++ b/2910_lz4-compression-fix.patch
@@ -0,0 +1,30 @@
+--- a/lib/lz4/lz4_decompress.c 2015-04-13 16:20:04.896315560 +0800
++++ b/lib/lz4/lz4_decompress.c 2015-04-13 16:27:08.929317053 +0800
+@@ -139,8 +139,12 @@
+ /* Error: request to write beyond destination buffer */
+ if (cpy > oend)
+ goto _output_error;
++#if LZ4_ARCH64
++ if ((ref + COPYLENGTH) > oend)
++#else
+ if ((ref + COPYLENGTH) > oend ||
+ (op + COPYLENGTH) > oend)
++#endif
+ goto _output_error;
+ LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH));
+ while (op < cpy)
+@@ -270,7 +274,13 @@
+ if (cpy > oend - COPYLENGTH) {
+ if (cpy > oend)
+ goto _output_error; /* write outside of buf */
+-
++#if LZ4_ARCH64
++ if ((ref + COPYLENGTH) > oend)
++#else
++ if ((ref + COPYLENGTH) > oend ||
++ (op + COPYLENGTH) > oend)
++#endif
++ goto _output_error;
+ LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH));
+ while (op < cpy)
+ *op++ = *ref++;