diff options
author | Leonardo Arena <rnalrd@alpinelinux.org> | 2017-10-25 14:12:25 +0000 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2017-10-25 14:12:25 +0000 |
commit | ff398127e1e56de5b188aa623c4a519c5c66402c (patch) | |
tree | 7511208ae9b9a6d6e4c7ec735a032e4806a3bfe6 | |
parent | 777808728eee590185d5d0f60357c3e334fa40cd (diff) | |
download | aports-ff398127e1e56de5b188aa623c4a519c5c66402c.tar.bz2 aports-ff398127e1e56de5b188aa623c4a519c5c66402c.tar.xz |
main/xen: add leftover patch
-rw-r--r-- | main/xen/APKBUILD | 2 | ||||
-rw-r--r-- | main/xen/xsa230.patch | 38 |
2 files changed, 39 insertions, 1 deletions
diff --git a/main/xen/APKBUILD b/main/xen/APKBUILD index 04f7eca8ab..0dc6ce0318 100644 --- a/main/xen/APKBUILD +++ b/main/xen/APKBUILD @@ -4,7 +4,7 @@ # Maintainer: William Pitcock <nenolod@dereferenced.org> pkgname=xen pkgver=4.6.6 -pkgrel=0 +pkgrel=1 pkgdesc="Xen hypervisor" url="http://www.xen.org/" arch="x86_64" diff --git a/main/xen/xsa230.patch b/main/xen/xsa230.patch new file mode 100644 index 0000000000..c3b50c8aaa --- /dev/null +++ b/main/xen/xsa230.patch @@ -0,0 +1,38 @@ +From: Jan Beulich <jbeulich@suse.com> +Subject: gnttab: correct pin status fixup for copy + +Regardless of copy operations only setting GNTPIN_hst*, GNTPIN_dev* +also need to be taken into account when deciding whether to clear +_GTF_{read,writ}ing. At least for consistency with code elsewhere the +read part better doesn't use any mask at all. + +This is XSA-230. + +Signed-off-by: Jan Beulich <jbeulich@suse.com> +Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> +diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c +index ae34547..9c9d33c 100644 +--- a/xen/common/grant_table.c ++++ b/xen/common/grant_table.c +@@ -2107,10 +2107,10 @@ __release_grant_for_copy( + static void __fixup_status_for_copy_pin(const struct active_grant_entry *act, + uint16_t *status) + { +- if ( !(act->pin & GNTPIN_hstw_mask) ) ++ if ( !(act->pin & (GNTPIN_hstw_mask | GNTPIN_devw_mask)) ) + gnttab_clear_flag(_GTF_writing, status); + +- if ( !(act->pin & GNTPIN_hstr_mask) ) ++ if ( !act->pin ) + gnttab_clear_flag(_GTF_reading, status); + } + +@@ -2318,7 +2318,7 @@ __acquire_grant_for_copy( + + unlock_out_clear: + if ( !(readonly) && +- !(act->pin & GNTPIN_hstw_mask) ) ++ !(act->pin & (GNTPIN_hstw_mask | GNTPIN_devw_mask)) ) + gnttab_clear_flag(_GTF_writing, status); + + if ( !act->pin ) |