Home Home > GIT Browse > openSUSE-15.0
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2014-12-17 12:02:30 +0100
committerJiri Kosina <jkosina@suse.cz>2014-12-17 12:04:10 +0100
commit8356111faa769f649b6d7c8b5bcbb34fb17120aa (patch)
tree7da7e60b0ab80f7d778787e38f828046ddab441e
parent1cb95458608a29a36ace7673fc2ac27c1b2592ec (diff)
x86, asm, xen: Flip RESTORE_ARGS arguments logic (bnc#910251rpm-3.0.101-0.46
CVE-9322).
-rw-r--r--patches.xen/xen3-x86-asm-flip-restore_args-arguments-logic.patch41
-rw-r--r--series.conf1
2 files changed, 42 insertions, 0 deletions
diff --git a/patches.xen/xen3-x86-asm-flip-restore_args-arguments-logic.patch b/patches.xen/xen3-x86-asm-flip-restore_args-arguments-logic.patch
new file mode 100644
index 0000000000..25869ac4da
--- /dev/null
+++ b/patches.xen/xen3-x86-asm-flip-restore_args-arguments-logic.patch
@@ -0,0 +1,41 @@
+From: Jiri Kosina <jkosina@suse.cz>
+Subject: x86, asm, xen: Flip RESTORE_ARGS arguments logic
+References: bnc#910251 CVE-9322
+Patch-mainline: no
+
+Xen counterpart of patches.fixes/x86-asm-flip-restore_args-arguments-logic.patch
+
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+
+diff --git a/arch/x86/kernel/entry_64-xen.S b/arch/x86/kernel/entry_64-xen.S
+index 46b5fad54e1b..665ef7c283ed 100644
+--- a/arch/x86/kernel/entry_64-xen.S
++++ b/arch/x86/kernel/entry_64-xen.S
+@@ -519,7 +519,7 @@ sysret_check:
+ * sysretq will re-enable interrupts:
+ */
+ TRACE_IRQS_ON
+- RESTORE_ARGS 0,8,1,1
++ RESTORE_ARGS 1,8,0,0
+ xor %ecx,%ecx
+ xor %r11,%r11
+ HYPERVISOR_IRET VGCF_IN_SYSCALL
+@@ -775,7 +775,7 @@ retint_restore_args: /* return to kernel space */
+ andb $1,%al # EAX[0] == IRET_EFLAGS.IF & event_mask
+ jnz restore_all_enable_events # != 0 => enable event delivery
+
+- RESTORE_ARGS 0,8,0
++ RESTORE_ARGS 1,8,1
+ HYPERVISOR_IRET 0
+
+ /* edi: workmask, edx: work */
+@@ -1010,7 +1010,7 @@ scrit: /**** START OF CRITICAL REGION ****/
+ __TEST_PENDING
+ CFI_REMEMBER_STATE
+ jnz 14f # process more events if necessary...
+- RESTORE_ARGS 0,8,0
++ RESTORE_ARGS 1,8,1
+ HYPERVISOR_IRET 0
+
+ CFI_RESTORE_STATE
+
diff --git a/series.conf b/series.conf
index e2f14e14e3..d647decd36 100644
--- a/series.conf
+++ b/series.conf
@@ -16939,6 +16939,7 @@
patches.xen/xen3-0001-x86-cacheinfo-Determine-number-of-cache-leafs-using-.patch
patches.xen/xen3-x86-add-check-for-number-of-available-vectors-before-cpu-down
patches.xen/xen3-x86-cpu-hotplug-fix-stack-frame-warning-in-check_irq_vectors_for_cpu_disable
+ patches.xen/xen3-x86-asm-flip-restore_args-arguments-logic.patch
# bugfixes and enhancements
patches.xen/xen-hypercall-symbols