Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8105117imu; Tue, 4 Dec 2018 03:05:37 -0800 (PST) X-Google-Smtp-Source: AFSGD/UebEnBj4t7FVBUxoYnkZC1d9zhN8VrW1jM6zWeI2WLQwkEHVWw5Hmmpmj06hkku1MaDlkI X-Received: by 2002:a63:6ac5:: with SMTP id f188mr16510284pgc.165.1543921537545; Tue, 04 Dec 2018 03:05:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543921537; cv=none; d=google.com; s=arc-20160816; b=t6xSWSyCArxlCJf3Sz9tmCEJdNwqXIgFfFAude9rMgAK8zGATsm6QX4FMDQILqrWOI iH+HsC36b2IMyLgoz/wmDqMz++pneGyrFApRgC63ad6SDkpYnVzt94eryipjW0vISODJ ByUka9TeYrYH6FKcoUGWhQnnU+5zmX8NDZRpH+EW7vIg1T1yqsLk7+aklhJnS/6sH3QC RfwrZCP+ayVFAZjExby47ZBmOCF8ch7+WCfF42YEMBFdpG03ZhTww/D/e00IliW82xhE WQ6f2DHkYBlXlOVbl/NrRShBokHUsnfQqn7UayR4NC+ncSXcyo84ZQyOfZaDNWR1/SmW 2XSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=IgDLbnugOHa5OkHUNO8fHNTmIV9khUJZh7FP7JzV2uk=; b=s3/cVOBcxhKya9s+oqUsLblxfMB0QlEPi6Z5IB+Y/ZkRi/CPT3DORu5HO2OHYJib6m d4yzil67S30Jm6WDhsjfaysOUIFU7lglnM5XuNnlyLgIPHQwQWKotexpNTrWzpggX6nG /eJawzSLUVBL74Zsgdt4ASRaOEPA6SWaxjpAEGVAySzu7RTgfu6HOix9wLwQjmWQcOo0 /5GuV8UnU6xJaFIYQbn/mOv7kOSPIz/kx3o2SmdoETRNqy9JFISgCUQHEnI2LvtAb0pB ScuhACchEkHzXN/zmLfETBa3tj2ZfarHBI5axQnXRngSUwxeQKYwBzUs8/JueYQlgkin xh1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kWIPQ3oI; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m142si19459719pfd.171.2018.12.04.03.05.20; Tue, 04 Dec 2018 03:05:37 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kWIPQ3oI; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727958AbeLDLEP (ORCPT + 99 others); Tue, 4 Dec 2018 06:04:15 -0500 Received: from mail.kernel.org ([198.145.29.99]:51036 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727471AbeLDLEM (ORCPT ); Tue, 4 Dec 2018 06:04:12 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 39543214DB; Tue, 4 Dec 2018 11:04:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921451; bh=fWU/9fz8WH8onFRe/bVYPml8oWdXHeIDEgDQl+CHM18=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kWIPQ3oI20MgV+bwLrTc6f6ogFlFU/HX1qr70PXZa/vfC8nRVFF/3cqJaorUcWiV6 UcmGScD6s7DakW10mhgShktji2BDNgW6pN7n0rJlz9WtK9sVwP8dY1etMqY5KczbEf LQIhmPaseqCVbWe+KL/GEYg8NISne007aSxjf9Jg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Zhenzhong Duan , Borislav Petkov , Daniel Borkmann , David Woodhouse , "H. Peter Anvin" , Ingo Molnar , Konrad Rzeszutek Wilk , Peter Zijlstra , Thomas Gleixner , Wang YanQing , dhaval.giani@oracle.com, srinivas.eeda@oracle.com Subject: [PATCH 4.14 077/146] x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant Date: Tue, 4 Dec 2018 11:49:23 +0100 Message-Id: <20181204103729.934171841@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103726.750894136@linuxfoundation.org> References: <20181204103726.750894136@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Zhenzhong Duan zhenzhong.duan@oracle.com commit 0cbb76d6285794f30953bfa3ab831714b59dd700 upstream ..so that they match their asm counterpart. Add the missing ANNOTATE_NOSPEC_ALTERNATIVE in CALL_NOSPEC, while at it. Signed-off-by: Zhenzhong Duan Signed-off-by: Borislav Petkov Cc: Daniel Borkmann Cc: David Woodhouse Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Konrad Rzeszutek Wilk Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Wang YanQing Cc: dhaval.giani@oracle.com Cc: srinivas.eeda@oracle.com Link: http://lkml.kernel.org/r/c3975665-173e-4d70-8dee-06c926ac26ee@default Signed-off-by: Greg Kroah-Hartman --- arch/x86/include/asm/nospec-branch.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) --- a/arch/x86/include/asm/nospec-branch.h +++ b/arch/x86/include/asm/nospec-branch.h @@ -170,11 +170,15 @@ */ # define CALL_NOSPEC \ ANNOTATE_NOSPEC_ALTERNATIVE \ - ALTERNATIVE( \ + ALTERNATIVE_2( \ ANNOTATE_RETPOLINE_SAFE \ "call *%[thunk_target]\n", \ "call __x86_indirect_thunk_%V[thunk_target]\n", \ - X86_FEATURE_RETPOLINE) + X86_FEATURE_RETPOLINE, \ + "lfence;\n" \ + ANNOTATE_RETPOLINE_SAFE \ + "call *%[thunk_target]\n", \ + X86_FEATURE_RETPOLINE_AMD) # define THUNK_TARGET(addr) [thunk_target] "r" (addr) #elif defined(CONFIG_X86_32) && defined(CONFIG_RETPOLINE) @@ -184,7 +188,8 @@ * here, anyway. */ # define CALL_NOSPEC \ - ALTERNATIVE( \ + ANNOTATE_NOSPEC_ALTERNATIVE \ + ALTERNATIVE_2( \ ANNOTATE_RETPOLINE_SAFE \ "call *%[thunk_target]\n", \ " jmp 904f;\n" \ @@ -199,7 +204,11 @@ " ret;\n" \ " .align 16\n" \ "904: call 901b;\n", \ - X86_FEATURE_RETPOLINE) + X86_FEATURE_RETPOLINE, \ + "lfence;\n" \ + ANNOTATE_RETPOLINE_SAFE \ + "call *%[thunk_target]\n", \ + X86_FEATURE_RETPOLINE_AMD) # define THUNK_TARGET(addr) [thunk_target] "rm" (addr) #else /* No retpoline for C / inline asm */