Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754935AbbEOSRr (ORCPT ); Fri, 15 May 2015 14:17:47 -0400 Received: from mail-oi0-f53.google.com ([209.85.218.53]:34397 "EHLO mail-oi0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754730AbbEOSRq (ORCPT ); Fri, 15 May 2015 14:17:46 -0400 MIME-Version: 1.0 In-Reply-To: <1431622519-19718-1-git-send-email-dvlasenk@redhat.com> References: <1431622519-19718-1-git-send-email-dvlasenk@redhat.com> Date: Fri, 15 May 2015 15:17:45 -0300 Message-ID: Subject: Re: [PATCH] x86/asm/entry/64: Use shorter MOVs from segmers registers From: Thiago Farina To: Denys Vlasenko Cc: Ingo Molnar , Linus Torvalds , Steven Rostedt , Borislav Petkov , "H. Peter Anvin" , Andy Lutomirski , Oleg Nesterov , Frederic Weisbecker , Alexei Starovoitov , Will Drewry , Kees Cook , x86@kernel.org, linux list Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2317 Lines: 69 On Thu, May 14, 2015 at 1:55 PM, Denys Vlasenko 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 > CC: Linus Torvalds > CC: Steven Rostedt > CC: Ingo Molnar > CC: Borislav Petkov > CC: "H. Peter Anvin" > CC: Andy Lutomirski > CC: Oleg Nesterov > CC: Frederic Weisbecker > CC: Alexei Starovoitov > CC: Will Drewry > CC: Kees Cook > CC: x86@kernel.org > CC: linux-kernel@vger.kernel.org > --- > 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@vger.kernel.org > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/