Re: [PATCH] x86/irq: Preserve vector in orig_ax for APIC code

From: Josh Poimboeuf
Date: Wed Aug 26 2020 - 09:22:28 EST


On Wed, Aug 26, 2020 at 01:53:57PM +0200, Alexander Graf wrote:
> -.macro idtentry_body cfunc has_error_code:req
> +.macro idtentry_body cfunc has_error_code:req preserve_error_code:req
>
> call error_entry
> UNWIND_HINT_REGS
> @@ -328,7 +328,9 @@ SYM_CODE_END(ret_from_fork)
>
> .if \has_error_code == 1
> movq ORIG_RAX(%rsp), %rsi /* get error code into 2nd argument*/
> - movq $-1, ORIG_RAX(%rsp) /* no syscall to restart */
> + .if \preserve_error_code == 0
> + movq $-1, ORIG_RAX(%rsp) /* no syscall to restart */
> + .endif

When does this happen (has_error_code=1 && preserve_error_code=0)? I
don't see any users of this macro (or idtentry) with this combination.

--
Josh