Wed Sep 21 17:03:38 2016 UTC ()
Update xenkernel45 and xentools45 to 4.5.5.
Changes since 4.5.3: mostly bugfixes, including fixes for
security issues XSA-172, XSA-173, XSA-175, XSA-176, XSA-178, XSA-179, XSA-180,
XSA-181, XSA-182, XSA-183, XSA-184, XSA-185, XSA-186 and XSA-187.
All but XSA-175 were already fixed in pkgsrc.
Complete list of changes and links to the XSA advisories:
https://www.xenproject.org/downloads/xen-archives/xen-45-series/xen-455.html


(bouyer)
diff -r1.21 -r1.22 pkgsrc/sysutils/xenkernel45/Makefile
diff -r1.17 -r1.18 pkgsrc/sysutils/xenkernel45/distinfo
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-172
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-173
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-176
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-180
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-181
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-182
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-183
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-185
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-186-1
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-186-2
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-187-1
diff -r1.1 -r0 pkgsrc/sysutils/xenkernel45/patches/patch-XSA-187-2
diff -r1.38 -r1.39 pkgsrc/sysutils/xentools45/Makefile
diff -r1.26 -r1.27 pkgsrc/sysutils/xentools45/distinfo
diff -r1.1 -r0 pkgsrc/sysutils/xentools45/patches/patch-XSA-178
diff -r1.1 -r0 pkgsrc/sysutils/xentools45/patches/patch-XSA-179
diff -r1.1 -r0 pkgsrc/sysutils/xentools45/patches/patch-XSA-180
diff -r1.1 -r1.2 pkgsrc/sysutils/xentools45/patches/patch-XSA-184

cvs diff -r1.21 -r1.22 pkgsrc/sysutils/xenkernel45/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/sysutils/xenkernel45/Attic/Makefile 2016/09/08 15:44:07 1.21
+++ pkgsrc/sysutils/xenkernel45/Attic/Makefile 2016/09/21 17:03:37 1.22
@@ -1,19 +1,19 @@ @@ -1,19 +1,19 @@
1# $NetBSD: Makefile,v 1.21 2016/09/08 15:44:07 bouyer Exp $ 1# $NetBSD: Makefile,v 1.22 2016/09/21 17:03:37 bouyer Exp $
2 2
3VERSION= 4.5.3 3VERSION= 4.5.5
4DISTNAME= xen-${VERSION} 4DISTNAME= xen-${VERSION}
5PKGNAME= xenkernel45-${VERSION} 5PKGNAME= xenkernel45-${VERSION}
6PKGREVISION= 3 6#PKGREVISION= 0
7CATEGORIES= sysutils 7CATEGORIES= sysutils
8MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/ 8MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/
9 9
10MAINTAINER= pkgsrc-users@NetBSD.org 10MAINTAINER= pkgsrc-users@NetBSD.org
11HOMEPAGE= http://xenproject.org/ 11HOMEPAGE= http://xenproject.org/
12COMMENT= Xen 4.5.x Kernel 12COMMENT= Xen 4.5.x Kernel
13 13
14LICENSE= gnu-gpl-v2 14LICENSE= gnu-gpl-v2
15 15
16ONLY_FOR_PLATFORM= Linux-2.6*-i386 Linux-2.6*-x86_64 16ONLY_FOR_PLATFORM= Linux-2.6*-i386 Linux-2.6*-x86_64
17ONLY_FOR_PLATFORM+= NetBSD-[5-9].*-x86_64 NetBSD-[5-9].*-i386 17ONLY_FOR_PLATFORM+= NetBSD-[5-9].*-x86_64 NetBSD-[5-9].*-i386
18 18
19NO_CONFIGURE= yes 19NO_CONFIGURE= yes

cvs diff -r1.17 -r1.18 pkgsrc/sysutils/xenkernel45/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/sysutils/xenkernel45/Attic/distinfo 2016/09/08 15:44:07 1.17
+++ pkgsrc/sysutils/xenkernel45/Attic/distinfo 2016/09/21 17:03:37 1.18
@@ -1,25 +1,13 @@ @@ -1,25 +1,13 @@
1$NetBSD: distinfo,v 1.17 2016/09/08 15:44:07 bouyer Exp $ 1$NetBSD: distinfo,v 1.18 2016/09/21 17:03:37 bouyer Exp $
2 2
3SHA1 (xen-4.5.3.tar.gz) = 95d56c42642adcffe55dcf82a021d49115373108 3SHA1 (xen-4.5.5.tar.gz) = 4073d411c72d3298baacfc15577b92b9ae577073
4RMD160 (xen-4.5.3.tar.gz) = 7ba586b20404e95308007663e87868c0ccc0e6f4 4RMD160 (xen-4.5.5.tar.gz) = 34132ab04752dc594fbdc1404c95f402b7bbbe39
5SHA512 (xen-4.5.3.tar.gz) = 086b9b75e97d836498fd4f34b645c9b2f941db44efe8c7d23e53aa6455d40e1672962aaa7bac0db1db82255dba490c4fe996f356c184e71ea7fa5b483d9e9c0f 5SHA512 (xen-4.5.5.tar.gz) = 7e8d7e0248daa91389db0250c5f214dc1ab46c058d556a4326c801933ead05cc450cb9510108586418de029b81a80fd9f272ec1749d288a8250e69599aa2d769
6Size (xen-4.5.3.tar.gz) = 18416997 bytes 6Size (xen-4.5.5.tar.gz) = 18426889 bytes
7SHA1 (patch-Config.mk) = a2a104d023cea4e551a3ad40927d4884d6c610bf 7SHA1 (patch-Config.mk) = a2a104d023cea4e551a3ad40927d4884d6c610bf
8SHA1 (patch-XSA-172) = ff4560534381d4d4c553170fbeb674f9361d9740 
9SHA1 (patch-XSA-173) = 0f6a2c4d9467713f3d969020f8fba62aa2f5297b 
10SHA1 (patch-XSA-176) = 221ed0dce1a97e03c0f0cb216f5ffd13269fd162 
11SHA1 (patch-XSA-180) = d50f2c7d4ae7bbc8d0ae892f7bdf4ca0ba867d1a 
12SHA1 (patch-XSA-181) = 3fc00b9543d6bd834359a299c288839ad69f3fbb 
13SHA1 (patch-XSA-182) = 77dfd369df89a51355318e26e38837482f09996e 
14SHA1 (patch-XSA-183) = f2a6027ff71c32c16abeb1b17e3226b714a5f1f4 
15SHA1 (patch-XSA-185) = a2313922aa4dad734b96c80f64fe54eca3c14019 
16SHA1 (patch-XSA-186-1) = 71e4a6c4c683891bac50682a3ab69a204fb681ad 
17SHA1 (patch-XSA-186-2) = 6094c2efe468e3f31712659be9a71af2cbe8dc1f 
18SHA1 (patch-XSA-187-1) = 55ea0c2d9c7d8d9476a5ab97342ff552be4faf56 
19SHA1 (patch-XSA-187-2) = f5308fee03a5d73c8aa283eb82cc36a6a3d3bc06 
20SHA1 (patch-xen_Makefile) = 750d0c8d4fea14d3ef3f872de5242a1f5104cbbe 8SHA1 (patch-xen_Makefile) = 750d0c8d4fea14d3ef3f872de5242a1f5104cbbe
21SHA1 (patch-xen_arch_x86_Rules.mk) = 7b0894ba7311edb02118a021671f304cf3872154 9SHA1 (patch-xen_arch_x86_Rules.mk) = 7b0894ba7311edb02118a021671f304cf3872154
22SHA1 (patch-xen_common_page__alloc.c) = c4d606de1cada8cf89b5abd16efada3d58c68a03 10SHA1 (patch-xen_common_page__alloc.c) = c4d606de1cada8cf89b5abd16efada3d58c68a03
23SHA1 (patch-xen_drivers_passthrough_vtd_x86_ats.c) = f72fd4bb2aeeaeb0b167031dfd5498e73666aa4e 11SHA1 (patch-xen_drivers_passthrough_vtd_x86_ats.c) = f72fd4bb2aeeaeb0b167031dfd5498e73666aa4e
24SHA1 (patch-xen_include_asm-x86_current.h) = 8a21577be06383c0c7f53c15ba828f77fb6314ad 12SHA1 (patch-xen_include_asm-x86_current.h) = 8a21577be06383c0c7f53c15ba828f77fb6314ad
25SHA1 (patch-xen_include_xen_lib.h) = 82a219b7d9c5deaa2b8e0adc774f60395adc4815 13SHA1 (patch-xen_include_xen_lib.h) = 82a219b7d9c5deaa2b8e0adc774f60395adc4815

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-172

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-173

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-176

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-180

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-181

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-182

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-183

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-185

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-186-1

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-186-2

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-187-1

File Deleted: pkgsrc/sysutils/xenkernel45/patches/Attic/patch-XSA-187-2

cvs diff -r1.38 -r1.39 pkgsrc/sysutils/xentools45/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/sysutils/xentools45/Attic/Makefile 2016/09/11 11:38:10 1.38
+++ pkgsrc/sysutils/xentools45/Attic/Makefile 2016/09/21 17:03:38 1.39
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1# $NetBSD: Makefile,v 1.38 2016/09/11 11:38:10 spz Exp $ 1# $NetBSD: Makefile,v 1.39 2016/09/21 17:03:38 bouyer Exp $
2 2
3VERSION= 4.5.3 3VERSION= 4.5.5
4PKGREVISION= 4 4#PKGREVISION= 0
5VERSION_IPXE= 9a93db3f0947484e30e753bbd61a10b17336e20e 5VERSION_IPXE= 9a93db3f0947484e30e753bbd61a10b17336e20e
6 6
7DISTNAME= xen-${VERSION} 7DISTNAME= xen-${VERSION}
8PKGNAME= xentools45-${VERSION} 8PKGNAME= xentools45-${VERSION}
9CATEGORIES= sysutils 9CATEGORIES= sysutils
10MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/ 10MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/
11 11
12DISTFILES= ${DISTNAME}.tar.gz 12DISTFILES= ${DISTNAME}.tar.gz
13DISTFILES+= ipxe-git-${VERSION_IPXE}.tar.gz 13DISTFILES+= ipxe-git-${VERSION_IPXE}.tar.gz
14SITES.ipxe-git-${VERSION_IPXE}.tar.gz += http://xenbits.xensource.com/xen-extfiles/ 14SITES.ipxe-git-${VERSION_IPXE}.tar.gz += http://xenbits.xensource.com/xen-extfiles/
15 15
16MAINTAINER= pkgsrc-users@NetBSD.org 16MAINTAINER= pkgsrc-users@NetBSD.org
17HOMEPAGE= http://xen.org/ 17HOMEPAGE= http://xen.org/

cvs diff -r1.26 -r1.27 pkgsrc/sysutils/xentools45/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/sysutils/xentools45/Attic/distinfo 2016/09/11 11:38:10 1.26
+++ pkgsrc/sysutils/xentools45/Attic/distinfo 2016/09/21 17:03:38 1.27
@@ -1,39 +1,36 @@ @@ -1,39 +1,36 @@
1$NetBSD: distinfo,v 1.26 2016/09/11 11:38:10 spz Exp $ 1$NetBSD: distinfo,v 1.27 2016/09/21 17:03:38 bouyer Exp $
2 2
3SHA1 (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = fecadf952821e830ce1a1d19655288eef8488f88 3SHA1 (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = fecadf952821e830ce1a1d19655288eef8488f88
4RMD160 (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = 539bfa12db7054228250d6dd380bbf96c1a040f8 4RMD160 (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = 539bfa12db7054228250d6dd380bbf96c1a040f8
5SHA512 (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = c5cb1cdff40d2d71fd3e692a9d0efadf2aa17290daf5195391a1c81ddd9dfc913a8e44d5be2b12be85b2a5565ea31631c99c7053564f2fb2225c80ea0bb0e4a4 5SHA512 (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = c5cb1cdff40d2d71fd3e692a9d0efadf2aa17290daf5195391a1c81ddd9dfc913a8e44d5be2b12be85b2a5565ea31631c99c7053564f2fb2225c80ea0bb0e4a4
6Size (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = 2867999 bytes 6Size (ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz) = 2867999 bytes
7SHA1 (xen-4.5.3.tar.gz) = 95d56c42642adcffe55dcf82a021d49115373108 7SHA1 (xen-4.5.5.tar.gz) = 4073d411c72d3298baacfc15577b92b9ae577073
8RMD160 (xen-4.5.3.tar.gz) = 7ba586b20404e95308007663e87868c0ccc0e6f4 8RMD160 (xen-4.5.5.tar.gz) = 34132ab04752dc594fbdc1404c95f402b7bbbe39
9SHA512 (xen-4.5.3.tar.gz) = 086b9b75e97d836498fd4f34b645c9b2f941db44efe8c7d23e53aa6455d40e1672962aaa7bac0db1db82255dba490c4fe996f356c184e71ea7fa5b483d9e9c0f 9SHA512 (xen-4.5.5.tar.gz) = 7e8d7e0248daa91389db0250c5f214dc1ab46c058d556a4326c801933ead05cc450cb9510108586418de029b81a80fd9f272ec1749d288a8250e69599aa2d769
10Size (xen-4.5.3.tar.gz) = 18416997 bytes 10Size (xen-4.5.5.tar.gz) = 18426889 bytes
11SHA1 (patch-.._.._ipxe_src_core_settings.c) = 9e053e5e9936f49c46af0d59382a67d5f28cb39d 11SHA1 (patch-.._.._ipxe_src_core_settings.c) = 9e053e5e9936f49c46af0d59382a67d5f28cb39d
12SHA1 (patch-.._.._ipxe_src_interface_efi_efi_snp.c) = 7cd8a2d2dbeff55624b5d3461d22cd8331221762 12SHA1 (patch-.._.._ipxe_src_interface_efi_efi_snp.c) = 7cd8a2d2dbeff55624b5d3461d22cd8331221762
13SHA1 (patch-.._.._ipxe_src_net_fcels.c) = 7c13c87af5e38233f8b867503789f536394e7005 13SHA1 (patch-.._.._ipxe_src_net_fcels.c) = 7c13c87af5e38233f8b867503789f536394e7005
14SHA1 (patch-.._.._ipxe_src_net_tls.c) = c36b812c4c9a3aa7309219dfad2f7a24ba818e59 14SHA1 (patch-.._.._ipxe_src_net_tls.c) = c36b812c4c9a3aa7309219dfad2f7a24ba818e59
15SHA1 (patch-.._Config.mk) = 36a8942a9fc0f7d601c9b5f7fd1332db99f9ac4b 15SHA1 (patch-.._Config.mk) = 36a8942a9fc0f7d601c9b5f7fd1332db99f9ac4b
16SHA1 (patch-.._docs_man_xl.cfg.pod.5) = e2058495b6fe85af338e22560d46996d36aeedab 16SHA1 (patch-.._docs_man_xl.cfg.pod.5) = e2058495b6fe85af338e22560d46996d36aeedab
17SHA1 (patch-.._docs_man_xl.conf.pod.5) = 015da24a45388468d56f1ecfa60f6acf07bdfef8 17SHA1 (patch-.._docs_man_xl.conf.pod.5) = 015da24a45388468d56f1ecfa60f6acf07bdfef8
18SHA1 (patch-.._docs_man_xl.pod.1) = b194f2c5608c6f0e80a4abd8655808cf91355cd5 18SHA1 (patch-.._docs_man_xl.pod.1) = b194f2c5608c6f0e80a4abd8655808cf91355cd5
19SHA1 (patch-.._docs_man_xlcpupool.cfg.pod.5) = b44813af965e4d9d0d51c18b22d286736a4663b2 19SHA1 (patch-.._docs_man_xlcpupool.cfg.pod.5) = b44813af965e4d9d0d51c18b22d286736a4663b2
20SHA1 (patch-.._docs_misc_xl-disk-configuration.txt) = 5b59cfc2569d1a4c10d6c0fcb98ed35278723b79 20SHA1 (patch-.._docs_misc_xl-disk-configuration.txt) = 5b59cfc2569d1a4c10d6c0fcb98ed35278723b79
21SHA1 (patch-Makefile) = eb5d3211b26c5f10a24fcca658c83d5f60990d9f 21SHA1 (patch-Makefile) = eb5d3211b26c5f10a24fcca658c83d5f60990d9f
22SHA1 (patch-Rules.mk) = e0dc4234c35dc2d78afad4a90b0af829a6a10b50 22SHA1 (patch-Rules.mk) = e0dc4234c35dc2d78afad4a90b0af829a6a10b50
23SHA1 (patch-XSA-178) = 5cb68dd7d82f537e9a9d0417cc79e8cafeb05ac2 23SHA1 (patch-XSA-184) = b9089f29b67d1756e2c4919df30041282cebdfed
24SHA1 (patch-XSA-179) = b73d44757651efe4b8df27cedd7f9827f3d6a6ca 
25SHA1 (patch-XSA-180) = 58a93dec38792a36bca74123444eb72fafe158a3 
26SHA1 (patch-XSA-184) = 08103cae34512c1a3b9eb3e5cfdf8a15a302e419 
27SHA1 (patch-blktap_drivers_Makefile) = 7cc53b2a0dea1694a969046ab8542271ca63f9e7 24SHA1 (patch-blktap_drivers_Makefile) = 7cc53b2a0dea1694a969046ab8542271ca63f9e7
28SHA1 (patch-configure) = 97fa4274e425984d593cd93aea36edc681462b88 25SHA1 (patch-configure) = 97fa4274e425984d593cd93aea36edc681462b88
29SHA1 (patch-console_daemon_utils.c) = 915078ce6155a367e3e597fa7ab551f6afac083f 26SHA1 (patch-console_daemon_utils.c) = 915078ce6155a367e3e597fa7ab551f6afac083f
30SHA1 (patch-examples_Makefile) = 5fe7bb876d254cf0c4f774ed0f08dcaea5b355ff 27SHA1 (patch-examples_Makefile) = 5fe7bb876d254cf0c4f774ed0f08dcaea5b355ff
31SHA1 (patch-firmware_etherboot_Makefile) = f55e14948b7191e533a82b8fc3575f1052f23c45 28SHA1 (patch-firmware_etherboot_Makefile) = f55e14948b7191e533a82b8fc3575f1052f23c45
32SHA1 (patch-firmware_etherboot_patches_series) = 2fa1342c78094c6dd5d60a07c236c4a1c0599fc4 29SHA1 (patch-firmware_etherboot_patches_series) = 2fa1342c78094c6dd5d60a07c236c4a1c0599fc4
33SHA1 (patch-firmware_hvmloader_Makefile) = bc5e81ddfc5e95887c2af4bb32eced9c5748b3c6 30SHA1 (patch-firmware_hvmloader_Makefile) = bc5e81ddfc5e95887c2af4bb32eced9c5748b3c6
34SHA1 (patch-hotplug_NetBSD_Makefile) = 6f6ec768b595c332a8757437a64509c0370e52da 31SHA1 (patch-hotplug_NetBSD_Makefile) = 6f6ec768b595c332a8757437a64509c0370e52da
35SHA1 (patch-hotplug_NetBSD_block) = f7ef26d13578b00138f459f6d16662d53820458c 32SHA1 (patch-hotplug_NetBSD_block) = f7ef26d13578b00138f459f6d16662d53820458c
36SHA1 (patch-hotplug_NetBSD_vif-bridge) = ac4cc7446715330b504b8cce8cbd47c8035cf33c 33SHA1 (patch-hotplug_NetBSD_vif-bridge) = ac4cc7446715330b504b8cce8cbd47c8035cf33c
37SHA1 (patch-hotplug_NetBSD_vif-ip) = ed23b0c16d87bd05230399d921e28860c5857b01 34SHA1 (patch-hotplug_NetBSD_vif-ip) = ed23b0c16d87bd05230399d921e28860c5857b01
38SHA1 (patch-hotplug_common_Makefile) = 1c8af96a3d0d1d5e9c168b1eb75fabb3e2164a19 35SHA1 (patch-hotplug_common_Makefile) = 1c8af96a3d0d1d5e9c168b1eb75fabb3e2164a19
39SHA1 (patch-include_xen-sys_NetBSD_gntdev.h) = b1f60f46e606b7591d68d98655d1cb29df977c14 36SHA1 (patch-include_xen-sys_NetBSD_gntdev.h) = b1f60f46e606b7591d68d98655d1cb29df977c14

File Deleted: pkgsrc/sysutils/xentools45/patches/Attic/patch-XSA-178

File Deleted: pkgsrc/sysutils/xentools45/patches/Attic/patch-XSA-179

File Deleted: pkgsrc/sysutils/xentools45/patches/Attic/patch-XSA-180

cvs diff -r1.1 -r1.2 pkgsrc/sysutils/xentools45/patches/Attic/patch-XSA-184 (expand / switch to unified diff)

--- pkgsrc/sysutils/xentools45/patches/Attic/patch-XSA-184 2016/09/11 11:38:10 1.1
+++ pkgsrc/sysutils/xentools45/patches/Attic/patch-XSA-184 2016/09/21 17:03:38 1.2
@@ -31,53 +31,13 @@ index c26feff..42897bf 100644 @@ -31,53 +31,13 @@ index c26feff..42897bf 100644
31@@ -421,6 +421,11 @@ int virtqueue_pop(VirtQueue *vq, VirtQue 31@@ -421,6 +421,11 @@ int virtqueue_pop(VirtQueue *vq, VirtQue
32 /* When we start there are none of either input nor output. */ 32 /* When we start there are none of either input nor output. */
33 elem->out_num = elem->in_num = 0; 33 elem->out_num = elem->in_num = 0;
34  34
35+ if (vq->inuse >= vq->vring.num) { 35+ if (vq->inuse >= vq->vring.num) {
36+ fprintf(stderr, "Virtqueue size exceeded"); 36+ fprintf(stderr, "Virtqueue size exceeded");
37+ exit(1); 37+ exit(1);
38+ } 38+ }
39+ 39+
40 i = head = virtqueue_get_head(vq, vq->last_avail_idx++); 40 i = head = virtqueue_get_head(vq, vq->last_avail_idx++);
41 do { 41 do {
42 struct iovec *sg; 42 struct iovec *sg;
43 43
44From e469db25d6b2e5c71cd15451889226641c53a5cd Mon Sep 17 00:00:00 2001 
45From: P J P <ppandit@redhat.com> 
46Date: Mon, 25 Jul 2016 17:37:18 +0530 
47Subject: [PATCH] virtio: error out if guest exceeds virtqueue size 
48 
49A broken or malicious guest can submit more requests than the virtqueue 
50size permits. 
51 
52The guest can submit requests without bothering to wait for completion 
53and is therefore not bound by virtqueue size. This requires reusing 
54vring descriptors in more than one request, which is incorrect but 
55possible. Processing a request allocates a VirtQueueElement and 
56therefore causes unbounded memory allocation controlled by the guest. 
57 
58Exit with an error if the guest provides more requests than the 
59virtqueue size permits. This bounds memory allocation and makes the 
60buggy guest visible to the user. 
61 
62Reported-by: Zhenhao Hong <zhenhaohong@gmail.com> 
63Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> 
64--- 
65 hw/virtio/virtio.c | 5 +++++ 
66 1 file changed, 5 insertions(+) 
67 
68diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c 
69index d24f775..f8ac0fb 100644 
70--- qemu-xen/hw/virtio/virtio.c.orig 2016-02-18 17:30:28.000000000 +0000 
71+++ qemu-xen/hw/virtio/virtio.c 2016-09-11 11:01:48.000000000 +0000 
72@@ -459,6 +459,11 @@ int virtqueue_pop(VirtQueue *vq, VirtQue 
73  
74 max = vq->vring.num; 
75  
76+ if (vq->inuse >= max) { 
77+ error_report("Virtqueue size exceeded"); 
78+ exit(1); 
79+ } 
80+ 
81 i = head = virtqueue_get_head(vq, vq->last_avail_idx++); 
82 if (vq->vdev->guest_features & (1 << VIRTIO_RING_F_EVENT_IDX)) { 
83 vring_avail_event(vq, vring_avail_idx(vq));