|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH 29 of 36] Use __KERNEL_DS as SS when returning to a k
This is needed when the kernel is running on RING3, such as under Xen.
x86_64 has a weird feature that makes it #GP on iret when SS is a null
descriptor.
This need to be tested on bare metal to make sure it doesn't cause any
problems. AMD specs say SS is always ignored (except on iret?).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
---
arch/x86/kernel/entry_64.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -212,7 +212,7 @@
.macro FAKE_STACK_FRAME child_rip
/* push in order ss, rsp, eflags, cs, rip */
xorl %eax, %eax
- pushq %rax /* ss */
+ pushq $__KERNEL_DS /* ss */
CFI_ADJUST_CFA_OFFSET 8
/*CFI_REL_OFFSET ss,0*/
pushq %rax /* rsp */
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH 14 of 36] x86_64: add sync_cmpxchg, (continued)
- [Xen-devel] [PATCH 14 of 36] x86_64: add sync_cmpxchg, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 18 of 36] x86/paravirt: add debugging for missing operations, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 15 of 36] x86: simplify vmalloc_sync_all, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 17 of 36] x86: preallocate and prepopulate separately, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 16 of 36] x86/paravirt: add a pgd_alloc/free hooks, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 22 of 36] x86_64: split x86_64_start_kernel, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 21 of 36] x86-64: add FIX_PARAVIRT_BOOTMAP fixmap slot, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 20 of 36] paravirt/x86_64: move __PAGE_OFFSET to leave a space for hypervisor, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 19 of 36] paravirt_ops: define PARA_INDIRECT for indirect asm calls, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 28 of 36] Save %fs and %gs before load_TLS() and arch_leave_lazy_cpu_mode(), Jeremy Fitzhardinge
- [Xen-devel] [PATCH 29 of 36] Use __KERNEL_DS as SS when returning to a kernel thread (VERIFY),
Jeremy Fitzhardinge <=
- [Xen-devel] [PATCH 23 of 36] x86_64: adjust mapping of physical pagetables to work with Xen, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 27 of 36] x86_64: __switch_to(): Move arch_leave_lazy_cpu_mode() to the right place, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 31 of 36] x86_64 pvops: don't restore user rsp within sysret, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 33 of 36] x86_64: ia32entry: replace privileged instructions with pvops, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 32 of 36] Add sysret/sysexit pvops for returning to 32-bit compatibility userspace, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 30 of 36] x86/paravirt_ops: split sysret and sysexit, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 34 of 36] x86_64: swapgs pvop with a user-stack can never be called, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 24 of 36] x86_64: create small vmemmap mappings if PSE not available, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 26 of 36] x86_64: Split set_pte_vaddr(), Jeremy Fitzhardinge
- [Xen-devel] [PATCH 36 of 36] x86_64/paravirt: Make load_gs_index() a paravirt operation, Jeremy Fitzhardinge
|
|
|
|
|