search for: iret_exc

Displaying 20 results from an estimated 58 matches for "iret_exc".

2007 May 21
2
changing definition of paravirt_ops.iret
....long 1b,4b; \ .long 2b,5b; \ - .long 3b,6b; \ .popsection #define RING0_INT_FRAME \ @@ -406,19 +403,14 @@ restore_nocheck_notrace: RESTORE_REGS addl $4, %esp # skip orig_eax/error_code CFI_ADJUST_CFA_OFFSET -4 -1: INTERRUPT_RETURN -.section .fixup,"ax" + INTERRUPT_RETURN + iret_exc: TRACE_IRQS_ON ENABLE_INTERRUPTS(CLBR_NONE) pushl $0 # no error code pushl $do_iret_error jmp error_code -.previous -.section __ex_table,"a" - .align 4 - .long 1b,iret_exc -.previous CFI_RESTORE_STATE ldt_ss: @@ -863,21 +855,22 @@ nmi_espfix_stack: RESTORE_REGS lss 12...
2007 May 21
2
changing definition of paravirt_ops.iret
....long 1b,4b; \ .long 2b,5b; \ - .long 3b,6b; \ .popsection #define RING0_INT_FRAME \ @@ -406,19 +403,14 @@ restore_nocheck_notrace: RESTORE_REGS addl $4, %esp # skip orig_eax/error_code CFI_ADJUST_CFA_OFFSET -4 -1: INTERRUPT_RETURN -.section .fixup,"ax" + INTERRUPT_RETURN + iret_exc: TRACE_IRQS_ON ENABLE_INTERRUPTS(CLBR_NONE) pushl $0 # no error code pushl $do_iret_error jmp error_code -.previous -.section __ex_table,"a" - .align 4 - .long 1b,iret_exc -.previous CFI_RESTORE_STATE ldt_ss: @@ -863,21 +855,22 @@ nmi_espfix_stack: RESTORE_REGS lss 12...
2007 Apr 18
1
Patch: use .pushsection/.popsection
...le,"a" .align 4 .long 1b,syscall_fault -.previous +.popsection = pushl %eax CFI_ADJUST_CFA_OFFSET 4 @@ -378,18 +378,18 @@ restore_nocheck_notrace: addl $4, %esp CFI_ADJUST_CFA_OFFSET -4 1: INTERRUPT_RETURN -.section .fixup,"ax" +.pushsection .fixup,"ax" iret_exc: TRACE_IRQS_ON ENABLE_INTERRUPTS pushl $0 # no error code pushl $do_iret_error jmp error_code -.previous -.section __ex_table,"a" +.popsection +.pushsection __ex_table,"a" .align 4 .long 1b,iret_exc -.previous +.popsection = CFI_RESTORE_STATE ldt_ss: @@ -415...
2007 Apr 18
1
Patch: use .pushsection/.popsection
...le,"a" .align 4 .long 1b,syscall_fault -.previous +.popsection = pushl %eax CFI_ADJUST_CFA_OFFSET 4 @@ -378,18 +378,18 @@ restore_nocheck_notrace: addl $4, %esp CFI_ADJUST_CFA_OFFSET -4 1: INTERRUPT_RETURN -.section .fixup,"ax" +.pushsection .fixup,"ax" iret_exc: TRACE_IRQS_ON ENABLE_INTERRUPTS pushl $0 # no error code pushl $do_iret_error jmp error_code -.previous -.section __ex_table,"a" +.popsection +.pushsection __ex_table,"a" .align 4 .long 1b,iret_exc -.previous +.popsection = CFI_RESTORE_STATE ldt_ss: @@ -415...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...t miss an interrupt # setting need_resched or sigpending # between sampling and the iret movl TI_flags(%ebp), %ecx @@ -256,14 +256,14 @@ restore_all: restore_nocheck: RESTORE_REGS addl $4, %esp -1: iret -.section .fixup,"ax" +1: IRET +.pushsection .fixup,"ax" iret_exc: - sti + STI pushl $0 # no error code pushl $do_iret_error jmp error_code -.previous +.popsection .section __ex_table,"a" .align 4 .long 1b,iret_exc @@ -281,14 +281,14 @@ ldt_ss: * CPUs, which we can try to work around to make * dosemu and wine happy. */ subl $8, %esp...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...t miss an interrupt # setting need_resched or sigpending # between sampling and the iret movl TI_flags(%ebp), %ecx @@ -256,14 +256,14 @@ restore_all: restore_nocheck: RESTORE_REGS addl $4, %esp -1: iret -.section .fixup,"ax" +1: IRET +.pushsection .fixup,"ax" iret_exc: - sti + STI pushl $0 # no error code pushl $do_iret_error jmp error_code -.previous +.popsection .section __ex_table,"a" .align 4 .long 1b,iret_exc @@ -281,14 +281,14 @@ ldt_ss: * CPUs, which we can try to work around to make * dosemu and wine happy. */ subl $8, %esp...
2007 Apr 18
1
[PATCH 1/2] Transparent entry.S IRQ holdoff handling
...# make sure we don't miss an interrupt # setting need_resched or sigpending # between sampling and the iret #ifdef CONFIG_TRAP_BAD_SYSCALL_EXITS @@ -274,10 +273,10 @@ restore_all: restore_nocheck: RESTORE_REGS addl $4, %esp -1: iret +1: IRET .section .fixup,"ax" iret_exc: - sti + STI pushl $0 # no error code pushl $do_iret_error jmp error_code @@ -299,14 +298,14 @@ ldt_ss: * CPUs, which we can try to work around to make * dosemu and wine happy. */ subl $8, %esp # reserve space for switch16 pointer - cli + CLI movl %esp, %eax /* Set up the 16bit...
2007 Apr 18
1
[PATCH 1/2] Transparent entry.S IRQ holdoff handling
...# make sure we don't miss an interrupt # setting need_resched or sigpending # between sampling and the iret #ifdef CONFIG_TRAP_BAD_SYSCALL_EXITS @@ -274,10 +273,10 @@ restore_all: restore_nocheck: RESTORE_REGS addl $4, %esp -1: iret +1: IRET .section .fixup,"ax" iret_exc: - sti + STI pushl $0 # no error code pushl $do_iret_error jmp error_code @@ -299,14 +298,14 @@ ldt_ss: * CPUs, which we can try to work around to make * dosemu and wine happy. */ subl $8, %esp # reserve space for switch16 pointer - cli + CLI movl %esp, %eax /* Set up the 16bit...
2012 Oct 19
0
[PATCHv3] xen/x86: don't corrupt %eip when returning from a signal handler
...,16 @@ ENTRY(xen_failsafe_callback) 2: mov 8(%esp),%es 3: mov 12(%esp),%fs 4: mov 16(%esp),%gs + /* EAX == 0 => Category 1 (Bad segment) + EAX != 0 => Category 2 (Bad IRET) */ testl %eax,%eax popl_cfi %eax lea 16(%esp),%esp CFI_ADJUST_CFA_OFFSET -16 jz 5f addl $16,%esp - jmp iret_exc # EAX != 0 => Category 2 (Bad IRET) -5: pushl_cfi $0 # EAX == 0 => Category 1 (Bad segment) + jmp iret_exc +5: pushl_cfi $-1 /* orig_ax = -1 => not a system call */ SAVE_ALL jmp ret_from_exception CFI_ENDPROC diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S inde...
2008 Apr 05
0
BUG(?): multipathd confusion leads to kernel panic in Xen 3.2.1-rc2
..._pc parport i2c_i801 i2c_core pcspkr piix serio_raw sisfb shpchp pci_hotplug 8250_pnp 8250 serial_core rtc ide_disk ata_piix libata sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd usbcore CPU: 1 EIP: 0061:[<c0302709>] Not tainted VLI EFLAGS: 00010286 (2.6.18.8-xen #1) EIP is at iret_exc+0xc6a/0x105e eax: 00000000 ebx: 00000000 ecx: 00000007 edx: ed470b40 esi: ed470b50 edi: e68c6490 ebp: 000001f0 esp: ed7a3c84 ds: 007b es: 007b ss: 0069 Process swapper (pid: 0, ti=ed7a2000 task=ed79f080 task.ti=ed7a2000) Stack: 00000034 000001f0 ed470000 c0296f70 ed470b20 e68c6460 0...
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all, I've been looking at finding common ground between the VMI, Xen and other paravirtualization approaches, and after some discussion, we're getting somewhere. These first two patches are the fundamentals, stolen mainly from the VMI patches: removing assumptions about the kernel running in ring 0, and macro-izing all the obvious para-virtualize-needing insns. The third patch is
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all, I've been looking at finding common ground between the VMI, Xen and other paravirtualization approaches, and after some discussion, we're getting somewhere. These first two patches are the fundamentals, stolen mainly from the VMI patches: removing assumptions about the kernel running in ring 0, and macro-izing all the obvious para-virtualize-needing insns. The third patch is
2020 May 18
0
[PATCH 4.4 67/86] x86/paravirt: Remove the unused irq_enable_sysexit pv op
...o the vDSO, which will pop ecx and edx. * Don't bother with DS and ES (they already contain __USER_DS). */ - ENABLE_INTERRUPTS_SYSEXIT + sti + sysexit .pushsection .fixup, "ax" 2: movl $0, PT_FS(%esp) @@ -554,11 +555,6 @@ ENTRY(native_iret) iret _ASM_EXTABLE(native_iret, iret_exc) END(native_iret) - -ENTRY(native_irq_enable_sysexit) - sti - sysexit -END(native_irq_enable_sysexit) #endif ENTRY(overflow) --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h @@ -938,13 +938,6 @@ extern void default_banner(void); push %ecx; push %edx; \ call PA...
2015 Nov 18
0
[PATCH 2/3] x86: irq_enable_sysexit pv op is no longer needed
...o the vDSO, which will pop ecx and edx. * Don't bother with DS and ES (they already contain __USER_DS). */ - ENABLE_INTERRUPTS_SYSEXIT + sti + sysexit .pushsection .fixup, "ax" 2: movl $0, PT_FS(%esp) @@ -552,11 +553,6 @@ ENTRY(native_iret) iret _ASM_EXTABLE(native_iret, iret_exc) END(native_iret) - -ENTRY(native_irq_enable_sysexit) - sti - sysexit -END(native_irq_enable_sysexit) #endif ENTRY(overflow) diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index 10d0596..c28518e 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include...
2007 Apr 18
5
[PATCH] paravirt.h
...li -#define ENABLE_INTERRUPTS sti -#define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit -#define INTERRUPT_RETURN iret -#define GET_CR0_INTO_EAX movl %cr0, %eax - #ifdef CONFIG_PREEMPT #define preempt_stop DISABLE_INTERRUPTS; TRACE_IRQS_OFF #else @@ -809,6 +802,19 @@ 1: INTERRUPT_RETURN .long 1b,iret_exc .previous +#ifdef CONFIG_PARAVIRT +ENTRY(nopara_iret) +1: iret +.section __ex_table,"a" + .align 4 + .long 1b,iret_exc +.previous + +ENTRY(nopara_irq_enable_sysexit) + sti + sysexit +#endif + KPROBE_ENTRY(int3) RING0_INT_FRAME pushl $-1 # mark this as an int ====================...
2007 Apr 18
5
[PATCH] paravirt.h
...li -#define ENABLE_INTERRUPTS sti -#define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit -#define INTERRUPT_RETURN iret -#define GET_CR0_INTO_EAX movl %cr0, %eax - #ifdef CONFIG_PREEMPT #define preempt_stop DISABLE_INTERRUPTS; TRACE_IRQS_OFF #else @@ -809,6 +802,19 @@ 1: INTERRUPT_RETURN .long 1b,iret_exc .previous +#ifdef CONFIG_PARAVIRT +ENTRY(nopara_iret) +1: iret +.section __ex_table,"a" + .align 4 + .long 1b,iret_exc +.previous + +ENTRY(nopara_irq_enable_sysexit) + sti + sysexit +#endif + KPROBE_ENTRY(int3) RING0_INT_FRAME pushl $-1 # mark this as an int ====================...
2020 May 18
0
Patch "x86/paravirt: Remove the unused irq_enable_sysexit pv op" has been added to the 4.4-stable tree
...o the vDSO, which will pop ecx and edx. * Don't bother with DS and ES (they already contain __USER_DS). */ - ENABLE_INTERRUPTS_SYSEXIT + sti + sysexit .pushsection .fixup, "ax" 2: movl $0, PT_FS(%esp) @@ -554,11 +555,6 @@ ENTRY(native_iret) iret _ASM_EXTABLE(native_iret, iret_exc) END(native_iret) - -ENTRY(native_irq_enable_sysexit) - sti - sysexit -END(native_irq_enable_sysexit) #endif ENTRY(overflow) --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h @@ -938,13 +938,6 @@ extern void default_banner(void); push %ecx; push %edx; \ call PA...
2007 Apr 18
3
[PATCH 1/2] paravirt.h header
...ysexit); + OFFSET(PARAVIRT_iret, paravirt_ops, iret); + OFFSET(PARAVIRT_read_cr0, paravirt_ops, read_cr0); +#endif } =================================================================== --- a/arch/i386/kernel/entry.S +++ b/arch/i386/kernel/entry.S @@ -803,6 +803,15 @@ 1: INTERRUPT_RETURN .long 1b,iret_exc .previous +#ifdef CONFIG_PARAVIRT +ENTRY(nopara_iret) + iret + +ENTRY(nopara_irq_enable_sysexit) + sti + sysexit +#endif + KPROBE_ENTRY(int3) RING0_INT_FRAME pushl $-1 # mark this as an int =================================================================== --- a/include/asm-i386/msr.h ++...
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been