Re: [PATCH] x86/asm/entry/64: Use shorter MOVs from segmers registers

From: Thiago Farina
Date: Fri May 15 2015 - 14:17:54 EST


On Thu, May 14, 2015 at 1:55 PM, Denys Vlasenko <dvlasenk@xxxxxxxxxx> wrote:
> "movw %ds,%cx" insn needs a 0x66 prefix, while "movw %ds,%ecx" does not.
did you mean 'movl %ds,%ecx' here as is in your patch below?

> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
> CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> CC: Steven Rostedt <rostedt@xxxxxxxxxxx>
> CC: Ingo Molnar <mingo@xxxxxxxxxx>
> CC: Borislav Petkov <bp@xxxxxxxxx>
> CC: "H. Peter Anvin" <hpa@xxxxxxxxx>
> CC: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> CC: Oleg Nesterov <oleg@xxxxxxxxxx>
> CC: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> CC: Alexei Starovoitov <ast@xxxxxxxxxxxx>
> CC: Will Drewry <wad@xxxxxxxxxxxx>
> CC: Kees Cook <keescook@xxxxxxxxxxxx>
> CC: x86@xxxxxxxxxx
> CC: linux-kernel@xxxxxxxxxxxxxxx
> ---
> arch/x86/kernel/entry_64.S | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
> index 62b4c5f..ef2651d 100644
> --- a/arch/x86/kernel/entry_64.S
> +++ b/arch/x86/kernel/entry_64.S
> @@ -1195,19 +1195,19 @@ ENTRY(xen_failsafe_callback)
> /*CFI_REL_OFFSET ds,DS*/
> CFI_REL_OFFSET r11,8
> CFI_REL_OFFSET rcx,0
> - movw %ds,%cx
> + movl %ds,%ecx
> cmpw %cx,0x10(%rsp)
> CFI_REMEMBER_STATE
> jne 1f
> - movw %es,%cx
> + movl %es,%ecx
> cmpw %cx,0x18(%rsp)
> jne 1f
> - movw %fs,%cx
> + movl %fs,%ecx
> cmpw %cx,0x20(%rsp)
> jne 1f
> - movw %gs,%cx
> + movl %gs,%ecx
> cmpw %cx,0x28(%rsp)
> jne 1f
> /* All segments match their saved values => Category 2 (Bad IRET). */
> movq (%rsp),%rcx
> CFI_RESTORE rcx
> movq 8(%rsp),%r11
> --
> 1.8.1.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/



--
Thiago Farina
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/