Patchwork gnu: qemu: Patch CVE-2016-8910.

login
register
mail settings
Submitter Kei Yamashita
Date Oct. 25, 2016, 5:44 p.m.
Message ID <87r374728m.fsf@openmailbox.org>
Download mbox | patch
Permalink /patch/16813/
State New
Headers show

Comments

Kei Yamashita - Oct. 25, 2016, 5:44 p.m.
Kei Kebreau <kei@openmailbox.org> writes:

> Kei Kebreau <kei@openmailbox.org> writes:
>
>> One of the email address was hidden on the list I got this patch from.
>> I don't know whether that's a potential problem.
>> See:
>> http://www.openwall.com/lists/oss-security/2016/10/24/2 and
>> https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg05495.html
>
> Also, I just noticed an issue with the patch I submitted. Any advice on
> getting valid patches from online mailing list archives?

BTW, I just fixed the issue. It appears that inline patches can get
messed up in replies.
From a99ba6e18e063c08b0069fd59d98023427cb96aa Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kei@openmailbox.org>
Date: Tue, 25 Oct 2016 13:42:23 -0400
Subject: [PATCH] gnu: qemu: Patch CVE-2016-8910.

* gnu/packages/qemu.scm (qemu)[source]: Add patch.
* gnu/packages/patches/qemu-CVE-2016-8910.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/patches/qemu-CVE-2016-8910.patch | 30 +++++++++++++++++++++++++++
 gnu/packages/qemu.scm                         |  3 ++-
 3 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/qemu-CVE-2016-8910.patch

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ff2d976..5577b69 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -814,6 +814,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/qemu-CVE-2016-8576.patch			\
   %D%/packages/patches/qemu-CVE-2016-8577.patch			\
   %D%/packages/patches/qemu-CVE-2016-8578.patch			\
+  %D%/packages/patches/qemu-CVE-2016-8910.patch			\
   %D%/packages/patches/qt4-ldflags.patch			\
   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
   %D%/packages/patches/rapicorn-isnan.patch			\
diff --git a/gnu/packages/patches/qemu-CVE-2016-8910.patch b/gnu/packages/patches/qemu-CVE-2016-8910.patch
new file mode 100644
index 0000000..7033c42
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2016-8910.patch
@@ -0,0 +1,30 @@ 
+From: Prasad J Pandit <ppandit@redhat.com>
+
+RTL8139 ethernet controller in C+ mode supports multiple
+descriptor rings, each with maximum of 64 descriptors. While
+processing transmit descriptor ring in 'rtl8139_cplus_transmit',
+it does not limit the descriptor count and runs forever. Add
+check to avoid it.
+
+Reported-by: Andrew Henderson <address@hidden>
+Signed-off-by: Prasad J Pandit <ppandit@redhat.com>
+---
+ hw/net/rtl8139.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
+index 3345bc6..f05e59c 100644
+--- a/hw/net/rtl8139.c
++++ b/hw/net/rtl8139.c
+@@ -2350,7 +2350,7 @@ static void rtl8139_cplus_transmit(RTL8139State *s)
+ {
+     int txcount = 0;
+ 
+-    while (rtl8139_cplus_transmit_one(s))
++    while (txcount < 64 && rtl8139_cplus_transmit_one(s))
+     {
+         ++txcount;
+     }
+-- 
+2.7.4
+
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 9bf8c3a..a386426 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -79,7 +79,8 @@ 
                "0lqyz01z90nvxpc3nx4djbci7hx62cwvs5zwd6phssds0sap6vij"))
              (patches (search-patches "qemu-CVE-2016-8576.patch"
                                       "qemu-CVE-2016-8577.patch"
-                                      "qemu-CVE-2016-8578.patch"))))
+                                      "qemu-CVE-2016-8578.patch"
+                                      "qemu-CVE-2016-8910.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(;; Running tests in parallel can occasionally lead to failures, like: