From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x225S0RE80EYvuxH9Hc6ptzPBWSXGVerBS009UL58m3eMeRtETszPRwZQN5JCe+L9KsZD3TNC ARC-Seal: i=1; a=rsa-sha256; t=1516610469; cv=none; d=google.com; s=arc-20160816; b=ee6EhRiVuZEFSJOl9bBPfwu30/XFR0ABu+KXkFDivR9Otk7NYJ2z6T7jBoJXBZINMs iGCZP4HMkzAcrO99ZMFNi5+vS12WAEnwsutE+yI1iUtVghpWPvazcpolHjEaSjA71IYC LF/GS9AX19jRMYooQtsUtAoF/FQhGgteScc6hFeamZsPP2Q8NEwsKoQkPgMT8J35IYuo 0hP5ElRrUS+wPoJXxbs2Qn+UQWFtHo0aLf2Fji84nvAUNOl8Vxsf6HZib+ksZ4mQm7vY zZEgMO44/lFPiPR3Wis6IsRQBmaxBIXWEM7wM6FUyAFcFVYtYZH7G2rt7dUWSY01K6A0 bGcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=x0wBGOm6jjp9wsMvrOL8McqGGLpypOeoxDLAvnsGE48=; b=nrrPP2iLK5DP2nlFUQkcq9YZWRZe2NxqVSXw3h17LSHVDvTlCebgSE1F9krQcjRadr iOLObOUf6xa6SMeDagdeiaJaG5cAjKz6Zv9eOQeJlB9SKC5Y/fbyAB+pHjSOMzwXSOUj JcFMPrd+npbQPkVqexZ5Lo0vGhd6CmRiia+iob/BjiCH3MGJZN7mpVdgTW14JUXLM5Wu KKM0ifBhCoJRjwq/nF4Sjpz8fyq0URvvOa0utbLY0Y+XC1aSA3WrQT5Un3CKW6iQqtdb 2cfd76yWr0S7px0ii8m/R/AJ1JupcIvgzxp+FoXQKf25PZ4bQL86Xs3DLfxJYNLYJ6il aY0w== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, David Woodhouse , Thomas Gleixner , Arjan van de Ven , Ingo Molnar , gnomes@lxorguk.ukuu.org.uk, Rik van Riel , Andi Kleen , Josh Poimboeuf , thomas.lendacky@amd.com, Peter Zijlstra , Linus Torvalds , Jiri Kosina , Andy Lutomirski , Dave Hansen , Kees Cook , Tim Chen , Paul Turner , Razvan Ghitulete , Greg Kroah-Hartman Subject: [PATCH 4.4 14/53] x86/retpoline/ftrace: Convert ftrace assembler indirect jumps Date: Mon, 22 Jan 2018 09:40:06 +0100 Message-Id: <20180122083910.902737240@linuxfoundation.org> X-Mailer: git-send-email 2.16.0 In-Reply-To: <20180122083910.299610926@linuxfoundation.org> References: <20180122083910.299610926@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-LABELS: =?utf-8?b?IlxcU2VudCI=?= X-GMAIL-THRID: =?utf-8?q?1590281340442475293?= X-GMAIL-MSGID: =?utf-8?q?1590281340442475293?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: David Woodhouse commit 9351803bd803cdbeb9b5a7850b7b6f464806e3db upstream. Convert all indirect jumps in ftrace assembler code to use non-speculative sequences when CONFIG_RETPOLINE is enabled. Signed-off-by: David Woodhouse Signed-off-by: Thomas Gleixner Acked-by: Arjan van de Ven Acked-by: Ingo Molnar Cc: gnomes@lxorguk.ukuu.org.uk Cc: Rik van Riel Cc: Andi Kleen Cc: Josh Poimboeuf Cc: thomas.lendacky@amd.com Cc: Peter Zijlstra Cc: Linus Torvalds Cc: Jiri Kosina Cc: Andy Lutomirski Cc: Dave Hansen Cc: Kees Cook Cc: Tim Chen Cc: Greg Kroah-Hartman Cc: Paul Turner Link: https://lkml.kernel.org/r/1515707194-20531-8-git-send-email-dwmw@amazon.co.uk Signed-off-by: David Woodhouse Signed-off-by: Razvan Ghitulete Signed-off-by: Greg Kroah-Hartman --- arch/x86/entry/entry_32.S | 5 +++-- arch/x86/kernel/mcount_64.S | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) --- a/arch/x86/entry/entry_32.S +++ b/arch/x86/entry/entry_32.S @@ -863,7 +863,8 @@ trace: movl 0x4(%ebp), %edx subl $MCOUNT_INSN_SIZE, %eax - call *ftrace_trace_function + movl ftrace_trace_function, %ecx + CALL_NOSPEC %ecx popl %edx popl %ecx @@ -898,7 +899,7 @@ return_to_handler: movl %eax, %ecx popl %edx popl %eax - jmp *%ecx + JMP_NOSPEC %ecx #endif #ifdef CONFIG_TRACING --- a/arch/x86/kernel/mcount_64.S +++ b/arch/x86/kernel/mcount_64.S @@ -7,7 +7,7 @@ #include #include #include - +#include .code64 .section .entry.text, "ax" @@ -285,8 +285,9 @@ trace: * ip and parent ip are used and the list function is called when * function tracing is enabled. */ - call *ftrace_trace_function + movq ftrace_trace_function, %r8 + CALL_NOSPEC %r8 restore_mcount_regs jmp fgraph_trace @@ -329,5 +330,5 @@ GLOBAL(return_to_handler) movq 8(%rsp), %rdx movq (%rsp), %rax addq $24, %rsp - jmp *%rdi + JMP_NOSPEC %rdi #endif