From 4bc4920a96481d5c1a5c7f42cf3ec573f5096d39 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 25 Oct 2016 13:24:09 -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 | 28 +++++++++++++++++++++++++++ gnu/packages/qemu.scm | 3 ++- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/qemu-CVE-2016-8910.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..7a38b3c --- /dev/null +++ b/gnu/packages/patches/qemu-CVE-2016-8910.patch @@ -0,0 +1,28 @@ +From: Prasad J Pandit + +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 +Signed-off-by: Prasad J Pandit +--- + 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; + } + 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: -- 2.10.1