From patchwork Wed Feb 16 09:02:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Roger_Pau_Monn=C3=A9?= X-Patchwork-Id: 12748249 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E42C8C433EF for ; Wed, 16 Feb 2022 09:03:43 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.273786.469054 (Exim 4.92) (envelope-from ) id 1nKGDg-0005g5-Jb; Wed, 16 Feb 2022 09:03:28 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 273786.469054; Wed, 16 Feb 2022 09:03:28 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nKGDg-0005fy-GM; Wed, 16 Feb 2022 09:03:28 +0000 Received: by outflank-mailman (input) for mailman id 273786; Wed, 16 Feb 2022 09:03:27 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nKGDf-0005Pr-0f for xen-devel@lists.xenproject.org; Wed, 16 Feb 2022 09:03:27 +0000 Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 4ba13f4f-8f07-11ec-b215-9bbe72dcb22c; Wed, 16 Feb 2022 10:03:25 +0100 (CET) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 4ba13f4f-8f07-11ec-b215-9bbe72dcb22c DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1645002205; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=WENpvfDNE8/oapQGORit/gp77hoSL3t4hzn01DyGrFI=; b=Me+z+fJX2y0/uNAHJ4NPdPlRM9cJprZm6/gYxk0MuFpDz5D5B/cJPOuk ChsW/bbW3kkEbnZ9J1gon4nIxFUg+OIcnG5YvJ7Elst3E20D5hHyn5JWa 1h4M6p8bjeeZ6wpO3ITgm/005o7sJpDn/L79BAxAMoWwjYhsAVJkJhSsl c=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: jIAXe5Vxu4CM9GEz4a5xJuIb5Ahw5XpIqKYwYMiMlF8t3J/8ZqM/z3fZHVfR8VoqISu6HGILdk rREPM29RDkG+C1Qu2IY0BU5DkF9q0D8VuHh4yRDDBhXAnth6zIj+i38z6RrkHPBxOWkijwRhEE zJUNkAglnSOQbHBQ2ah8zbUyCtBNzrEwdxT10x7ja0qUL7/ZEiLzzvK8uH7iZDsbP4/eiFPjNA JEE82ACrIoP6anNNVTdTlukZHougpf+yHbIDr3GpE2Jnq/1iWBl8cfGj4LryvPVdISke2euFSl 5nO2hpqcIb1lCH1EwKLrcEcp X-SBRS: 5.1 X-MesageID: 66555052 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:XcQIJq/vyKShVaQhluP9DrUDXHmTJUtcMsCJ2f8bNWPcYEJGY0x3n GQbCG/Sa/nYazCke41/bNy/900CsJDWxtFrSQo+rC48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7Rg3NYx6TSEK1jlV e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhVw eUS9ryNGDtxYKKPxrQjYxNVHRxhaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGgmpt25gTR54yY eJFRH1Qch3DZiFiFVYVJp0bueal2XDgJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tkSSq 3/C/m/5KgoHL9HZwj2Amlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc QpOoHNo9PVsshzwJjXgY/GmiFqNjkFfe+cBL7Vk50LTmpTk6QuXO3dRG1atd+canMMxQDUr0 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtvxor6p5 iVspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/IdENuWsvdRYwaK7onAMFh meJ5Gu9A7cJYhOXgVJfOdrtW6zGM4C8fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ7l0gWmDKILbimnkvP7FZrTCPMIVvzGADVNb5RAWLtiFi9z uuzwOPQm0UFC7yhOHCKmWPRRHhTRUUG6VnNg5U/XsaIIxZ8GXFnDPnUwLg7fJdikbgTneDNl kxRkGcDoLYmrXGYewiMdF55b7bjAcR2oX4hZHR+Nle0wXkzJ42o6f5HJZcweLAm8s1lzOJ1E KZZK5nRXKwXR2SV4SkZYLn8sJdmKEahizWRMnf3ezM4ZZNhGVDEo4e2Ygv1+SASJSOrrs9i8 aa43wbWTMNbFQRvBcrbcty1yFa1sSRPke5+RRKQcNJSZF/t4M5hLCmo1q07JMQFKBPiwDqG1 lnJXUdE9LeV+4JsqYvHn6GJqYutAtBSJEsCEjmJ96uyOAnb4nGnnd1KXtGXcG2PT2jz4qijO 7lYlqmuLP0dkV9WmINgCLI3n7km7t7iqrIGnARpGHLHMwaiBr96eyTU2MBOsutGx6NDuBvwU UWKo4EINbKMMcLjMVgQOAt6MbjTiaBKwmHfvaYvPUH3xC5r577WA0xdMi6FhDFZMLYoYpgux v0suZJO5gGy4vbw3g1qUsyAG7ywE0E9 IronPort-HdrOrdr: A9a23:gi13batuwAMAQHMUoL2Cv3h57skC7IMji2hC6mlwRA09TyXGra 6TdaUguiMc1gx8ZJhBo7C90KnpewK6yXcT2/hvAV7CZnibhILMFuBfBOTZskTd8kHFh4tgPO JbAtJD4b7LfChHZKTBkXGF+r8bqbHtms3Y5pa9854ud3AWV0gJ1XYJNu/xKDwReOApP+tcKH LKjfA32QZINE5nJPiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvV Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfpWoCoZ 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8DLeiP28YAh/J9tKhIpffBecwVEnpstA3K VC2H/cn4ZLDDvb9R6NpuTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed MeQv003MwmMm9yUkqp/FWGmLeXLzEO91a9Mwc/U/WuonhrdCsT9Tpd+CQd9k1wgq7VBaM0oN gsCZ4Y5o2mePVmGp6VNN1xMvdfNVa9NC4kSFjiWmgPNJt3c04l+KSHq4nc2omRCeg1Jd0J6d L8bG8= X-IronPort-AV: E=Sophos;i="5.88,373,1635220800"; d="scan'208";a="66555052" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Af6tIjKOtVUQrHbUplyOLy2st/jtjqZlBI6RkRbPbDddnW/XyCIeyVku3K3jEtiTzh6hbS2q2i3LzfLY4ipIJzLDfuIatHMqvdj/UhTf7tFIhV0o8Rhoj9SmoYT34jUfWzU9RmVEFCe9HCfPJ1DhBrQur0UFUfapaWa0K8R4aU9ul7f2QEAH7xcC4sVLFSqDNNTPHkY26S3t8tewOuXFEEVNSE8mnTLlxwdUMaaBDgihf0j/MwRm8bLHocAsEO2PDsPYJosaOPPArTqMMJ4iwqvKJ+NQ5BNiA4JnzqKjB69ROKZNiITXY80DHebU879J6cRk8fOspb1t1+QrCckZTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=59r7fbZ3K+LcmEoyCa8BNqjqMu4sOS5sUKRPzfo807I=; b=DBpS0kWXM22tGUAlKqFmPblAc+gLjLRJ/C8P+HCTe13EOXTwztlvZ7jXkW72N5XnjAMUx0kvP44wM86LgA9ceBHVztICjes9NTyx73HYF6ggTJR6JnUJ+shRxQ/3+8FeVnWfEMhH3uSA8ojOSEAAsLX8XkWJbjgYKV2YkMOJhTLY5UQILpjUPyp8UZSGktqqsYJlDdQ+N/o/NFMLaitrRsrvBJ8yRFN3mQWKj53Yhmg9HzLuK10c8Vm2QVCnXpHNL64vUIpFJuoIIpupJo688qB6Te5p9v2LNzr7X7MOrhcmo0BfRtsrYgsICuJK8QABOvCDbrAvnRKt9R8pAbSPEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=59r7fbZ3K+LcmEoyCa8BNqjqMu4sOS5sUKRPzfo807I=; b=Khx0ogaSgWq+Rh2fi7sNbVT7eNrWnpXf/J8suVrPur9BlAhfGFiKimPyj4G0EHtgBXQhKE/j7vt5zmJutjye383hHscFF/Z55imYBHKqqwsh4fsYaTVE7hSQrnIRFr6Nr6LGx8BgO5JqCWw4lTUGgURsHX6bptlfa4DzcHCwp2E= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH 1/3] x86/retpoline: rename retpoline Kconfig check to include GCC prefix Date: Wed, 16 Feb 2022 10:02:58 +0100 Message-ID: <20220216090300.9424-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220216090300.9424-1-roger.pau@citrix.com> References: <20220216090300.9424-1-roger.pau@citrix.com> X-ClientProxiedBy: LO3P265CA0010.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:bb::15) To SA0PR03MB5610.namprd03.prod.outlook.com (2603:10b6:806:b2::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ac6e6ad0-fd85-4ff4-1786-08d9f12b2b72 X-MS-TrafficTypeDiagnostic: MWHPR03MB3104:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3lbbXZGpyKFO2Qo66v6zPGMOjBsqvUGMYeFsgLnwByV/RARrCb86NlyhZGrBPIsOmIVq5kpiinxOg2AF3694I75F/4ZroH6xUSPu7E0pM207cdBvBx5Jw+1GFdtc6alZBPg9XzFizOayXRsvgXg5Zu335m+T3SizfnNYiLO5bNUzlUHI8T2jiZKTryA8M8EbaQEzl/NNiCNw6E4e4pVUq7KBNRLBaleUTEKAZgPSclAWsyi3CQgftRv5BYtq7Uoiyj4D1k83OuESzzbcFoA6zdA0ane2CFiI9VQDx8hkro/pf4yudLfpho9LY8N56DWbRxgT7lJAWYgpA4lM2hegK5a3OqLuxp5jXnBfUtiyoF0lD1A5j70BKwCX0CbFKkFym6pkrcz4ooaydywUou3s9zuCWS4CSuXut10hrJvrvr57gdGrkJCwwELmJdtxsgZVHS5BzdAkp/T8MG4EkVLjKVMBNR7C1sexnXFjih/ybUBkM2h5roJILiGjNu6CrmG5kV52mJEeOCdI1F2O8yTaCGk1VGYl+dgHxTxVd3O8eW7g4rTUcMER4ClUXCIe9eO3U9+gW3c9Y7+o/NHIDdRdf7eGTNo4G9wNeVHj4nGNdRQSPUZ+Jp+TwjtgGiruYbkJ8CFoTymRDxanbLytxcO7rQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(8676002)(6512007)(2906002)(86362001)(6666004)(8936002)(6506007)(5660300002)(83380400001)(54906003)(508600001)(82960400001)(6486002)(38100700002)(6916009)(66476007)(36756003)(66946007)(316002)(2616005)(26005)(1076003)(186003)(66556008)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?UkCFwCgyZTxQC8zixcVePfCwDAhX?= =?utf-8?q?4NBqLdm1Q8x5FzPtyrh2TO617nepUxlGqICMzx8WZK59Z5Pc+rNCWsTXzLjJkfghv?= =?utf-8?q?wCpvf4sZVddcmfXeAMv86dX7XeSsYVQI+9HmxZmKG2f6tGomWjs/lb49OsvYW0dUx?= =?utf-8?q?+trTSYHVQCK3IAzkE9fWSvD4Al71oRDG3fdLazbvwbVG438QK/+1xFK3PkN9+SGdk?= =?utf-8?q?hOeMPUdI/qYk5P/YrGT3eMREIag/tO/0NLOkYrLtl+5TIiqdO4G4vi6/vHGc1O0UX?= =?utf-8?q?a7RJ0gpbs9eyDY1kYKMdAHBxmfl6sVP3mkD2QCZRqCMuTVkmkS3NMLaLK5FzR2ZEM?= =?utf-8?q?PJnvMMPq3kxDqS8HXnrlV4OyfNQs/btIzEKjwR1jYnXzCTx2k6CkM02eGCC/GzpZY?= =?utf-8?q?DDag4KOyUT7xPDUq8t+g6i3nLdnMAMr4NBGMmh8/4bBiCcyjQfeYpehrcXNiER/MB?= =?utf-8?q?hzQwWljkYUJjt0TvDu7HQkASHbBtx11bG9cM9Qvbale+oPZTNAkarQoJt0/4NfKSP?= =?utf-8?q?hTzN7SQGnNjXDtr70Aj5Xba4u3ZRF6Ihr+/PcWFEP0Bq+BCMC9u75ry22S6KE0g0d?= =?utf-8?q?x+z2qCqo/rI6VWk+yFdmPvFRhW/0SwlpLyEzb1HK39SkiakW+lMi6ScA+rKs70ANa?= =?utf-8?q?pABtFcN+zeCZFqCecBLMmPe6ROMfUYCux5UDQGUJsWVqc/E+Y0FEJl1beuEiJ2aVx?= =?utf-8?q?t/TP4E2FqBXYEh2S+TAzSAvXimya3jICUFa1l+ngvw1KrWTX4quCm2PIw5OrDvSAb?= =?utf-8?q?RcflnIopBx88R/NKyZf3i8rM7uX3u3+ybrn6yOJNWjzcLBDS1RcJ0bej0ouaQP0WN?= =?utf-8?q?V7fLRptIpo8yDNGq8yy9+VXE6GnC83E3MxXjCV76QcENLvUY+ml+fmaEe3fIYvo86?= =?utf-8?q?8HxPR10DNo136UeS1KQnyYC3QCRgl11QSt3Q6S9tPG7DXhdK9PGqqzisxz6kxwjmb?= =?utf-8?q?DznNiqMkbj4+zlYFsZlCeWHT6tKgy+aWygoIt41oR31JFweyhkvhSrWuv6ljF8mUI?= =?utf-8?q?rnqzN/7oy/lRJpfc8X6oNwvvgPgeOMNU4VNJq7ftU1GU6A8Ge3m3JipS/ofpLkx3r?= =?utf-8?q?xrUb+2gz/yaU2PybDaoVY9agnjVvZO1OC91boqolYYSoJXaJC7mw+kXajnZrZarAu?= =?utf-8?q?Oi3iyx/CXcUTvGvJMF+EBPpDcZRrRWn5nNphInOmzn2+KqAGjpXWZoBc1dDXzSGCb?= =?utf-8?q?kjogGsUypHKeb1TrQptPx1ix+KAx0stSgxIXUC0n/vE9tsjcbTcw7oBvvRPSI4FNQ?= =?utf-8?q?tlLqLk7mfN4+djQj+0YkL9vl/WuFf/H9ti1VQXEsJPTMiq3iYCMORTyveaP0fpwoY?= =?utf-8?q?v5c+AEwrg5NXRR4h771Ff0wdDjsD4VKEVG4LSzdl7AUdL15U+HV1mCPU3lojpTG5e?= =?utf-8?q?UvKQ7/f3ZykhKBWvA0bTF5RDdzYcVHxxTOVl+ZRSlscPq6C8a75I2wdmCJogkZG6B?= =?utf-8?q?fVRyVrWwhNknIgcw7vWdSHB/6CyicgDedrwj6J8GwJwJbYLzMbqzwURqaAEaSmLn9?= =?utf-8?q?18wZr6mBTc/GcHaLO6lStO9SP6BLDMFHs8zW6q45Pu+0eyyUx/zuOec=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: ac6e6ad0-fd85-4ff4-1786-08d9f12b2b72 X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 09:03:16.8326 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sP7axAO1hdQieDfN/70xItTj4uyBpjxHQM0CEVH4nB6n1zFz15fqA8hNFKw3wtKWy5XDm+QrWrhC4t24POLGog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB3104 X-OriginatorOrg: citrix.com Current retpoline checks apply to GCC only, so make it obvious by prefixing the Kconfig option with GCC. Keep the previous option as a way to signal generic retpoline support regardless of the underlying compiler. No functional change intended. Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich --- xen/arch/x86/Kconfig | 6 +++++- xen/arch/x86/arch.mk | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index b4abfca46f..2cd713724f 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -32,9 +32,13 @@ config ARCH_DEFCONFIG string default "arch/x86/configs/x86_64_defconfig" -config INDIRECT_THUNK +config GCC_INDIRECT_THUNK def_bool $(cc-option,-mindirect-branch-register) +config INDIRECT_THUNK + depends on GCC_INDIRECT_THUNK + def_bool y + config HAS_AS_CET_SS # binutils >= 2.29 or LLVM >= 6 def_bool $(as-instr,wrssq %rax$(comma)0;setssbsy) diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index fa7cf38443..2da4bdb1ed 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -42,10 +42,10 @@ CFLAGS += -mno-red-zone -fpic # SSE setup for variadic function calls. CFLAGS += -mno-sse $(call cc-option,$(CC),-mskip-rax-setup) -# Compile with thunk-extern, indirect-branch-register if avaiable. -CFLAGS-$(CONFIG_INDIRECT_THUNK) += -mindirect-branch=thunk-extern -CFLAGS-$(CONFIG_INDIRECT_THUNK) += -mindirect-branch-register -CFLAGS-$(CONFIG_INDIRECT_THUNK) += -fno-jump-tables +# Compile with gcc thunk-extern, indirect-branch-register if available. +CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch=thunk-extern +CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch-register +CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -fno-jump-tables # If supported by the compiler, reduce stack alignment to 8 bytes. But allow # this to be overridden elsewhere. From patchwork Wed Feb 16 09:02:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Roger_Pau_Monn=C3=A9?= X-Patchwork-Id: 12748251 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 98C10C4332F for ; Wed, 16 Feb 2022 09:03:44 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.273787.469065 (Exim 4.92) (envelope-from ) id 1nKGDj-0005yF-SH; Wed, 16 Feb 2022 09:03:31 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 273787.469065; Wed, 16 Feb 2022 09:03:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nKGDj-0005y1-Oe; Wed, 16 Feb 2022 09:03:31 +0000 Received: by outflank-mailman (input) for mailman id 273787; Wed, 16 Feb 2022 09:03:30 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nKGDi-0005Pr-5x for xen-devel@lists.xenproject.org; Wed, 16 Feb 2022 09:03:30 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 4db97b55-8f07-11ec-b215-9bbe72dcb22c; Wed, 16 Feb 2022 10:03:28 +0100 (CET) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 4db97b55-8f07-11ec-b215-9bbe72dcb22c DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1645002208; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=xn4du4McSTZakSHSLhIMNTrpFDgFlHgmcfXxyKC8dAw=; b=h+swo9aB5/VPSxcmyacmGvE/VqZHejF4+5RkHrpv3GdasmG3/ARf1Ufk akVJ8pq50UYXLa4j+WWu1H6+P4kIfoHEH0GGmMUS4g8a4uamErJyFEqco aAbq6P64C8+gfjrxMHCqPY1Zr4Efjhht9eHNLKurPtaqBIAII2x6zwZG3 M=; Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: eXBBRENLS5qMAQ/WkGgr51csUPz+1mesK+tKLmgbgzVoNVN1w0Q1+FTSpe+YOtsFoNO5KHnb7G E+RZGP5X4CnX6amIhD9/TRJ1oAUPPwrki0/uTQlmpCyOoYcTYZKN6Ipp05W3L6VALL1B7DpKII 15nyvmtP+bpXhdS2OZIjH4sfbL46Ox3Rm82FmYWE+rLYDunQwo54hzuRR7ysRJT+ZBkSxk1WDM 9X7VoYFHHn3iR63yZ7KFCGSFEH9vEHfMMcTGbhgAK/sMJkzMn2KYepc+FK3ZwGtu/yOoZMb58a DT9c1rjFkZBYV5t72y49VthF X-SBRS: 5.1 X-MesageID: 64219151 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:ogkKKq0KJL2SZDMhf/bD5Q92kn2cJEfYwER7XKvMYLTBsI5bpzxWn zYfX2uEPv2PNzHxfY8lYI/noEME7JGGzoAySQM6pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o5wrBh2+aEvPDia++zk YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhgvRv1 okc7L6MChobHPPMkek2DzBFKnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4MChWZp25km8fD2d 8ATUxtjPAj8ZD5NIQ1LOJEOt/aViSyqG9FfgA3M/vdmi4TJ9yRu1JD9PdyTfcaFLe1XlEuFo mPN/0ziHwoXcteYzFKt4n+qw+PCgy7/cIYTD6GjsO5nhkWJwW4eAwFQUkG0ycRVkWbnBYgZc RZNvHNz8+5iryRHU+URQTWlhGCa4k9FeeYTDt8YtgGEx4GIyhugUz1soiF6VPQqs8o/RDoP3 1CPns/0CTEHjIB5WU5x5Z/P82rsZHF9wXsqIHZdEFBbu4WLTJQb00qXJuuPBpJZmTEc9dvY5 zmR5BYziLwI5SLg//XqpAuX695AS3Wgc+LU2uk1dj/9hu+aTNT8D2BN1bQ9xawdRGp+ZgPc1 EXoY+DEsIgz4WilzURhutklErCz/OqiOzbBm1NpFJRJ323zpyLyINkKsWAvfR0B3iM4ldnBO hK7VeR5vsE7AZdXRfUvP9LZ5zoCkcAM6ugJptiLN4ETM/CdhSeM/T10ZF744oweuBNErE3LA r/CKZzEJS9DUcxPlWPqL89Age5D7n1vngv7GMGkpylLJJLDPRZ5v59eawDQBg34hYvZyDjoH yF3bZvakU4OD7enP0E6M+c7dDg3EJTyPrivw+R/fe+fOAt2XmYnDv7a27Q6fIJ52a9Sk4/1E ruVACe0EXLz2i/KLxukcHdmZO+9VJpztytjbyctIUypyz4oZoP2tPUTcJ4+fL8G8u1/zKErE 6lZKpvYWvkfGC7a/zk9bIXmqNAwfhqcmg/TbTGuZyIyfsA8SlWRqMPkZAbm6AIHEjGz6Zklu 7Sl2w6CGcgDSg1uAdz4cvWqy1/t73ERlPgrBxnDI8VJeVWq+49vcnSjgvgyKsAKCBPC2jrFi FrGXUZG/bHA+tZn/sPIiKaIq5aSP9F/RkcKTXPG6buWNDXB+jbxy4F3T+vVLyvWU3n5+fv+a LwNne38KvAOgH1Dr5F4T+Rw1as76tbi++1awwBjECmZZlinEOo9cHyP3M0JvaxR3L5J/wCxX xvXqNVdPLyIPuLjEUIQe1V5PrjSi6lMl2mA9+kxLWX7+DRzreiOXkhlNhWRjDBQceluO4Q/z OZ94MMb5mRTUPbx3gpqWsyMy1mxEw== IronPort-HdrOrdr: A9a23:QazVxakHD/MAfaoGRsauTjQS8cLpDfIT3DAbv31ZSRFFG/FwWf re5cjztCWE8Ar5PUtLpTnuAtjkfZqxz+8W3WBVB8bAYOCEggqVxeNZnO/fKlTbckWUygce78 ddmsNFebrN5DZB/KDHCcqDf+rIAuPrzEllv4jjJr5WIz1XVw== X-IronPort-AV: E=Sophos;i="5.88,373,1635220800"; d="scan'208";a="64219151" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X1CTA2wFk6gkfO5fh4f664suwHeKKFu9zqoktu063yPfuH+vv1qT8mAfnvsCEWHn/OCq9ahcYDqW3yNXtPN3Wsai1zNoqtpIbZ5EE8JB6CM+ggSGkNY1NmUC4GJSTuIHkthRB8iBEWlF2yQCN61A5ToNLuhPQv9WtWJZKsMmvBOYlp74xJsL1a1/tBjdB31ZaDGanzoEo3h8TBRRiJ/bGFcyBRCPgTfsp4rxfYlnU3QvZ/amaZerBbHAd2sEO86fJIy/lhz0TWEKgudjYdfWVjaap+hqLuM8vyY8HTwH5uxKVN8BKv5Qzw7PAUp1iSR5JbSTj4xAZxmC4u6GULJz7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ECbNckFONGl7yneZ3OdlmPn6TeB2jy3nQWF/X3oEJ1k=; b=aZgUNs1+X44o3ew/aHJNg2BMaAUsTMYXLyKDNMJvvSZGq0YqMFkIYE2pDSbh5TJJ6HQELrl2kchinkQeXZUHVs66zpOhbAbQx49JdhC34HXPapc7FvLxoYki+3OJQhCijUYCHIaE9xoDSTJHGmdjDAgG2X61ZzD+vI3zDYOgkSshHnk9P1P7N66znUJiWT8VAfYSqV9Ur0hZfpxwRLNJukxKte7sf8FDDOaeT/+iE7+11oznsW1/sRlTQS9eVfcM/g+jybgCv2ZUM7hqzEhRAkEgqM6fbH4UxP+5ta5pL346Qb4CXygw8p3SWYmH0EQjWbloUFJdTXa+b6d9nV0Fbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ECbNckFONGl7yneZ3OdlmPn6TeB2jy3nQWF/X3oEJ1k=; b=WmiFWRX7daAck/K0b5o63oJf/dXMdwI6R6e0/be7LrpySA2DhKQSkK7qGabNwqPlrPZ3Z7o4IguG/rw9Sg2cZ5urvRmbYekI1KCJrmDs0aXq+79LIENBJNOiAq3j2tYCd6rQw00t3jhipZyUoq9ycNkutYMfAspebxgspOjXxCA= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu , Jan Beulich Subject: [PATCH 2/3] x86/clang: add retpoline support Date: Wed, 16 Feb 2022 10:02:59 +0100 Message-ID: <20220216090300.9424-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220216090300.9424-1-roger.pau@citrix.com> References: <20220216090300.9424-1-roger.pau@citrix.com> X-ClientProxiedBy: LO4P123CA0305.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:196::22) To SA0PR03MB5610.namprd03.prod.outlook.com (2603:10b6:806:b2::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5e2bf5a9-f891-43bf-7011-08d9f12b2f3d X-MS-TrafficTypeDiagnostic: MWHPR03MB3104:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5nggWCyoPkeZwPkZaAvSj5CydmYzATizwU1CBat7bKOaSydQEN+/nuetyYgBsvBXVFEbnkpZggcVZkRlRidaaqFIKcbQmmqNZd53i0oYvueT3N7pY0i1dLjEcxSGzSevw44IztOZdg301qElO4Fbd5+L3jE43THrUPupL1N1xSnIqipVGLONRvid+/Zdo+Aroq7mAUZJ/3N/7qHpuHw+Xzo7Hz0DvxZVhxtF0wRlI1v/RZYFOwXUxQjKbvU8Zm6TWVJt3t+tfm6HtXZKdbZ/jrY/v1VE889RySfRrlBk8HFCoTsjU7qxm4UBIVWC8U7ppE6815SotAg7L/qWMH8gEGB47LZDjlWJ4P4gerJp8USihDlhvqptFbAEv0sXdSH3dVi07mstm/npI3ZraDggsVQeuel/ItHjPFjFurFjhZ2S+ZgGf5npz/wLBq3fCeEYmMO6deiy80m5yKTojeQacDEt+F3p1lGcJA1BTG9ywt8NBtdMSTLWrgCZIxhh8CynEehNISpDV95yT8CdMTK5jyoV3qb0dpwig8fl3nQo6CbOaBZEE2wlE6rZVXpab0yd+QqAsbuxEaX1kE8mx1aey+dTczNMFq2/fcKC1m4P+a9lTYP3+BHTETe5Ibm4QUHIk7vGM1LNgsUKA2leUS8RWw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(8676002)(6512007)(2906002)(86362001)(6666004)(8936002)(6506007)(5660300002)(83380400001)(54906003)(508600001)(82960400001)(6486002)(38100700002)(6916009)(66476007)(36756003)(66946007)(316002)(2616005)(26005)(1076003)(186003)(66556008)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Xn4lMa6VPLRFCDL2YxeGs2T1loTP?= =?utf-8?q?imYuZHGndLXWW7+JyNhMw7P0yJAIdqm1LePMy24Ej/3j8yeTBT3JjXAZMkYuj+1Cn?= =?utf-8?q?h+ESYlzwWU5SNRgWqewzpaz3X3tJsfqnD2pNr7xTqaUrZ058rMeJOenD1vRb0+Rbl?= =?utf-8?q?s5RHq1KMESFniXKbIO2K+7siYq43GMo+P+Mrf65aLSRNzyOCeSrBEMNew17+gja8R?= =?utf-8?q?KUfAJ6QFEmFArOhrh6uwgADkIKeY1TFu2vUJmRFK+Qlx4MRKbnWAn2PA/9XpT+VXQ?= =?utf-8?q?47GqyoZI5QpuQQm/BdDcN8sTZIS0kQJwY9l9RTd060J15FihTZixqZOaUOBUAd0D4?= =?utf-8?q?o10LOwivrwIPIJvQLyxjao71vO1VT9GGc0EjB4s7h+TKV92eCwGLNmBdosvW5TH54?= =?utf-8?q?v8KNNpQkCHh0CV51kWB0HnZ0M5Bhh7uJRuVedSSfM/45facykN9yuyxs82Fr3y5WE?= =?utf-8?q?4L/2VK5Crf6g+wMy0JF6WC320Pis44qLcBbEcmZ+UG1SK/QMXM0kDNSUEOpji7wwX?= =?utf-8?q?FAj2TGv/mhBV2wRU0bbt8sW4Ljj5d8mSkVAQrUrPSsXgCASh3qy/3JFppD06qG374?= =?utf-8?q?TlX8OeuyNr5PGmnT4ap2tmXGte+6gFm+cDoMLR/3oolkDVoklLQXg6mE5ogN6OzPA?= =?utf-8?q?cZywMUBDjl0aUdjj+3Do/SsKzA586GtM90BSHKI3gqrg2w8Sca+vuBR+glalO0fVl?= =?utf-8?q?cWEopyQX8OPnMxBkHf+dm0KHgZTIDZrX6y5T0yTkAmKC0hu1h50R1yZVZiginrOpP?= =?utf-8?q?b6e2G9k+nkn8ffQCrKmoQ3WXdS4sgyoxbXE7LNztCMa9M4lUZRxHlMSFRTVnftyyx?= =?utf-8?q?8nJtcQ8WGIjtibtgyxFNn5ir837QCiy8O1273y8DHQH6QTyimSEb3IbQ8a+/aCswr?= =?utf-8?q?+YOYnzAkLUvXXeKf7yn8hn0kuPSZMROcn6ucfBxv5nYRqjHhPwro9Ya5lithfLv1Q?= =?utf-8?q?1moOMMWX+Mbxq7bUKewpxQMlt8Btct5MG2iknBUtJRAVdJQs+FWf9qz1RvpaGm17l?= =?utf-8?q?nna1WpnAria/8bApyLkuhEPPqdl3tHO3PjciqB658vbErqKYO8VpLTEJsHa7aMpav?= =?utf-8?q?I6yKd2evfvQJIhjrP0K6+XvoAlWBK/xfsIumh9Xtw+A5GQKTHvp+ucWNa9PfeICco?= =?utf-8?q?7wZRW30nYDMDPhnRNEWrOEtyG6bn+WtX2kFNr+pcYs8XQ8FvxRN3uI+kabIBUQRqf?= =?utf-8?q?6+WiSVYWKMMbXERzD2A87Y7+XaXbwu4+uxgxfLt7Z17TLDbuCvncs1qSZKQAixwbn?= =?utf-8?q?ezE4rd1FVY51lK1gOKoKdwKjLQwn3FqpkQOopw7eeSlLunUjevnd9DQ0aTr/gSprp?= =?utf-8?q?DZx4lb4SWvjCYY+DV/MXGJsy6xYgMqwNls81EN26l0eSAqvN920AxEoGVs2Vweqjs?= =?utf-8?q?R20lh16EiMsqQIMjrIfYiBhhWMLuMVnK21jrLYKtmcmh6MiAHVwK5xQ18SnGt3f07?= =?utf-8?q?U0/4BHkjs1PSZ4wl+UFYcY4jMT2OvyUy2UJGxoIszvAK3AsdnIwIzbC1eHtg09GLT?= =?utf-8?q?TP7sjycmJ5dm8xA01JDmRyRKFZbpSUtw4HqOl353aUvHzRUH3tWYrVs=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 5e2bf5a9-f891-43bf-7011-08d9f12b2f3d X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 09:03:23.0110 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QW2UykXpKeIfW+3AqVdkfNjbYWd0pYy9hGN8zDvOAyJQfbY+gkxHYzjmom/MQ1e0Lj4s+kyInm4XOVBHMPhW1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB3104 X-OriginatorOrg: citrix.com Detect whether the compiler supports clang retpoline option and enable by default if available, just like it's done for gcc. Note clang already disables jump tables when retpoline is enabled, so there's no need to also pass the fno-jump-tables parameter. Reported-by: Jan Beulich Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich --- xen/arch/x86/Kconfig | 5 ++++- xen/arch/x86/arch.mk | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index 2cd713724f..fe00b4598b 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -35,8 +35,11 @@ config ARCH_DEFCONFIG config GCC_INDIRECT_THUNK def_bool $(cc-option,-mindirect-branch-register) +config CLANG_INDIRECT_THUNK + def_bool $(cc-option,-mretpoline-external-thunk) + config INDIRECT_THUNK - depends on GCC_INDIRECT_THUNK + depends on GCC_INDIRECT_THUNK || CLANG_INDIRECT_THUNK def_bool y config HAS_AS_CET_SS diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index 2da4bdb1ed..f2aa2a515f 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -47,6 +47,9 @@ CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch=thunk-extern CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch-register CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -fno-jump-tables +# Enable clang retpoline support if available. +CFLAGS-$(CONFIG_CLANG_INDIRECT_THUNK) += -mretpoline-external-thunk + # If supported by the compiler, reduce stack alignment to 8 bytes. But allow # this to be overridden elsewhere. $(call cc-option-add,CFLAGS_stack_boundary,CC,-mpreferred-stack-boundary=3) From patchwork Wed Feb 16 09:03:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Roger_Pau_Monn=C3=A9?= X-Patchwork-Id: 12748252 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6E591C43217 for ; Wed, 16 Feb 2022 09:03:45 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.273788.469076 (Exim 4.92) (envelope-from ) id 1nKGDm-0006Gr-4m; Wed, 16 Feb 2022 09:03:34 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 273788.469076; Wed, 16 Feb 2022 09:03:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nKGDm-0006Gg-0L; Wed, 16 Feb 2022 09:03:34 +0000 Received: by outflank-mailman (input) for mailman id 273788; Wed, 16 Feb 2022 09:03:32 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nKGDk-0005Pr-Hb for xen-devel@lists.xenproject.org; Wed, 16 Feb 2022 09:03:32 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 4fdf0724-8f07-11ec-b215-9bbe72dcb22c; Wed, 16 Feb 2022 10:03:31 +0100 (CET) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 4fdf0724-8f07-11ec-b215-9bbe72dcb22c DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1645002211; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=ysl9wQiGoIFjtZscKuJah+YD5LjaRX0Moam5blmUa6I=; b=KhDWnuf42kjh1JVGnYsADY3UASBEp1bG3WKlIOdQ/tqC++HEK0yLVZ59 uqM9YzYRGvnO/cTklahJ3aocXdnlrJ+lDijLysk697v/P7hZHY3M54l6t 0FfvIMoFjj4xu6hz3+ULEfj9JoecQtsvJrF70AD1bP2XxWjdXfitjoJyM Y=; Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: NT3IIB7BoZF+xfFJ1xAmPmWgjtNH0yfIS6xM6snXFJiEFAquhx6jroHqbuIYf1o/PYOKJcbYqF gc0DYiY03d7qmf7KoRl/v9QxoVaHTs2Dtsb9jcXJOqutbGdpCqpDXFc/7/Cl9s6qQ/5nVmQL3q ORuNaXVOTYS/y1E9NNMvOoF4CQoDLjnDtCwv1JEb7LHt9bb0ibOEP0vuvN3QKbu/fk3w/Cnv+h hA6Vj4phUo75UFNoTP+VFPQe6J2mAynlViluIoVmWWezadab98v9GcBSkngYcG/4cPzK9xZ4hC t6NOoyiAgY6R8HbCOuDpkqxH X-SBRS: 5.1 X-MesageID: 64219153 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:fNGr/ar3e2YvkiwgmT87Mr9+5RheBmKcYhIvgKrLsJaIsI4StFCzt garIBmFP/rcN2X0fYtwa4Xj8U0GuJ7XytA2GwI4pClgE3lE+JuZCYyVIHmrMnLJJKUvbq7GA +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw24HnW1rlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCnYPuQgowBoDVovRDdjNxNDhCY4dG1rCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4SR6+PP pdCAdZpRBn7ejlyY0lGMq8vl/mIrGbSaAZDkk3A8MLb5ECMlVcsgdABKuH9eMGORMhTtlaVo CTB5WuRKgoBKNWVxD6B83StruzChyX2XMQVDrLQ3uFuqE2ewCoUEhJ+fUu2p7y1h1CzX/pbK lcI4Ww+oK4q7kupQ9LhGRqirxasvBQRRt5RGO0S8xyWx+zf5APxO4QfZmcfMpp87pZwHGF0k A/S9z/0OdBxmKLLQn+EzpqNlyPsHAI8CnY+OwUEYwRQtrEPv7oPph7IS99iFou8gdv0BSz8z li2kcQuu1kApZVVjvvmpDgrlxrp/8GUFVBtum07S0r4tlsRWWKzW2C/BbE3B95kJZ3RcFSOt WNsdyO2vLFXVsHleMBgrYww8FCVCxStbWW0bb1HRcBJG9GRF5iLJ904DNZWfhoBDyr8UWW1C HI/QCsIjHOpAFOkbLVsf6W6ANkwwK7rGLzND66IMosTO8IgJV7epkmCgHJ8OUi3zSDAdollZ /+mnTuEVy5GWcyLMhLqLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaopUQtazOzghQCxPrc+m39q o8HX+PTkkk3eLCuM0H/rN9IRXhXfCdTOHwDg5EOHgJ1ClE9Qz9J5j646e5JRrGJaIwPxreSp SDiABYFoLc97FWeQTi3hrlYQOqHdb50rG4hPDxqOlCt2nM5Zp2o4rtZfJwyFYTLPsQ6pRKtZ /VaKciGHNpVTTHLp2YUYZXn9dQwfxW3nwOeeSGiZWFnLZJnQgXI/P7ifxfuq3ZSXnbm65Nmr u3yzB7fTLoCWx9mUJTcZsWwwg7jpnMagu9zARfFe4EBZEX2/YF2ACXtlftrcdoUIBDOy2LCh QabCBsVv8fXpIox/IWbjKyItd7xQeB/AlBbDy/Q6rPvbXvW+W+qwIlhVueUfG+CCDOoqfv6P egMlqPyKvwKmlpOorFQKbczwPJs/cbrqp9b0h9gQCfBYWO0B+4yOXKBx8RO6PFAn+cLpQusV 0uT0dBGIrHVatj9GVscKQd5POSO0fYYxmvb4fgveRio4SZ2+PyMUFlIPgnKgytYdeMnPIQgy OYnmcgX9w3g1UZ6bofY1nhZpzaWM3gNc6Q7rZVLUobkhz0ixkxGfZGBWDT954uCaokUP0QnS tNOaHEuW1iIKpL+TkcO IronPort-HdrOrdr: A9a23:gpCxPauY+oIQpdjHGveW3hRL7skDSdV00zEX/kB9WHVpmwKj5r mTdZUgpGfJYVMqMk3I9urwXZVoLUmsl6KdpLNhXotKPzOGhILLFvAH0WKK+VSJcBEWtNQ86U 4KSdkYNDSfNykdsS842mWF+hQbreVvPJrGuQ4W9RlQcT0= X-IronPort-AV: E=Sophos;i="5.88,373,1635220800"; d="scan'208";a="64219153" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y57smHyNjswL/rrZxeiZJlEn7OTTE5UCwY25BiMAyKxnTgspi3rRj30ugokJaX/B4ESLEyD4zSyflIek36Y0zoJlqMVcHG6A17742bVt30zbZjQwmsHOtAnB9XK4BWLPAtlCJmExoqCWhlbpqnA71Rw6G+ViWE0Xhjmzo1oqqzrBTpwnO7DeTVrE33kU0IBeD4OmeadUhb5ekYyK3MTCv45jP++Xu/gbH1PBVxV65sY10gop3Vx1J5fKSF1YHX38Km1E90K3Ajys1AIAB7HtYH26gvfOWCo+hozQnSU/4O0bpnOBdIuDNTbx1SH6S5UKf8ASfCYWxqmjlRwsvCthew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+m/NbrA9jbWPANH40Z1eu9xNS2W1mVadFn0RNk2u6CM=; b=l9HXLmIgDgrpd1UsTSGvBV81KayWufCo153hi7CJAIIRygRzig+/zr7DgsuqMBRMBya7WN1Bw/1eNiWLGZZ32X7k1WL1T9CnYj+bdtIdxSAobz/MPu71+KYTQC99q8A2NUj/1N7cAoY3mNaJt0PvhQxKz6FFtt1XGeIyMCIJZrZPoNVSsK4sUZ4aqTgd97cdtWtk75z4vqsIDtzEDzR/pb1DKdT8mKJgvVUFIYjv35O0EH0bV//t8pw4tptrztg0VwIsTKonHFcm3XLx0Yiq2JVal0dQT94hf9DppBI6hcUpfVrrghA0ZhS5LM2p+bW0GvA5Zo7uloIpdGoLCpJdpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+m/NbrA9jbWPANH40Z1eu9xNS2W1mVadFn0RNk2u6CM=; b=ByURqYu+ugQWke5TsaWEwM2jOn2Cfvp3cV6Ud+rXRb6iRzUVWKZAKvhtnsek+jU0uKv58l9g0c5j1c155qvoakEAPm/4laDhurG2XgTMuUhL1BBwpe2pMU/Ug5FnKJjGxXGfnQc/T4EhaUsxFpc7/ZCfWMrlUv9jDsTR8zV8TIA= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu , George Dunlap , Julien Grall , Stefano Stabellini Subject: [PATCH 3/3] x86/Kconfig: introduce option to select retpoline usage Date: Wed, 16 Feb 2022 10:03:00 +0100 Message-ID: <20220216090300.9424-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220216090300.9424-1-roger.pau@citrix.com> References: <20220216090300.9424-1-roger.pau@citrix.com> X-ClientProxiedBy: LO4P123CA0310.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:197::9) To SA0PR03MB5610.namprd03.prod.outlook.com (2603:10b6:806:b2::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e0c5e71c-1e6b-4c65-73b0-08d9f12b31ff X-MS-TrafficTypeDiagnostic: MWHPR03MB3104:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3383; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +bvGSBYj6zuElY7Lf6NG2bQ4oVRbBh137cnGHznSaAz5Q9TTViV0eHcHsTOPnSynR54lTimPNCnZXu6k3ViXeGbHCprVMPbgK8QP9y8fkINsveBYRjPxi1sXZhRrbdCLkUG1NRXrVEdFxltsaO3av0+9GZMwvhA1UnUV7yAhZ0z9+yzoI+AXW4WLu72ikIBVo8b1Dgc/yOmgSJkIRJQEltoBvLZMQma2N61m6twXO6IyMMYYvPzZ/iY5WSvJfkZ7aG4RK6oaZqBP2fVk/+L0t5CFop6VNC/AVRTaOEu3PYJP6WQL6XLXNvvfP1txeg606OwLTwNcXhQR26yHat6IvAc9UWEbaLH9i2HmPtiH4Jiv6tr5nSjxfEA0njclDeTYhtC4r+RMf3I2dMsyUXZWDIL4BM8UOGAQFaBYgIT5xbFtMMB7YYaCRBVGU7oF7/0gthhid0+M3pJYKMNDMWWlAfr6X+il2sV6LDiBXiMG68ldUoEgzuso5Z8wpqJUD01hl9/MRBtuaF7sskEaOgZjd3AAJExp0+oPtslqhmMKxyrLRCy0K4XOAP/btfW8vUcPEzDYA46upBwmLCsdpUlSLWEWMpensZvK1RxgQ4pAM+x8tEnR+rTrMd8ittIGcxfl7ug6u5K+qGMpCuNoNhQwqw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(8676002)(6512007)(2906002)(86362001)(6666004)(8936002)(6506007)(5660300002)(83380400001)(54906003)(508600001)(82960400001)(6486002)(38100700002)(6916009)(66476007)(36756003)(66946007)(316002)(2616005)(26005)(1076003)(186003)(66556008)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?xVp2c64Qgc0konIyiEnULKtucykl?= =?utf-8?q?eeHdQGCY3tI1Isj6HGrr7Z/zFSkJB8g1jyZDZus4PudPyjvaUywgDKAZT1BWHf5/Z?= =?utf-8?q?4dsv1Qas+ewAvdm9lUQKXwhB8Z1I3V9MM4JzsP53Bah0MHRnvQ/wUQv68uPsf5Kay?= =?utf-8?q?+LPdOIs4s0iSzHW81q1bjjA9iZKyVjgpcdNA8XTcf7TgURfl4/cdBgSdIWoNyaM95?= =?utf-8?q?+XnakiJvGgf/WUqEEHKHiOgbwP4e/Xky5dxrtxdYfbyNK6FSZdhfu3SGB8Ju/ksk6?= =?utf-8?q?32rgnvo0dUpT4htuGrVElhHiVjQ/vDtbN2zITBjMHSsABu2RLSD2WH7Sxa70xC+tO?= =?utf-8?q?YxJMVY5DY/VjySqDOi5Ch77X/zUH0nOmt5jGRmEs+rh8MpKP3KENnWEvg8ARAXM74?= =?utf-8?q?m8Sej8CZkaiR6Netker9bLOkc0BvC7KwFO2rRMpueq2PoGqzi7w8/a30iitJ20fD5?= =?utf-8?q?BR3/EcYNbCjghcoyKZi4udQg9/ntMRvywc4w0HE6uEbf9QQLsjx4b1AdQziXmu42M?= =?utf-8?q?X2L3bVv7z890YLQRdpzrYboOXNPFRbkjo3i11zu4r3BUtzS5c3NMnyfw0ovywRUT5?= =?utf-8?q?pPz8YGc03bPYG7nvUinQM4BmQF4rIoyPYUi/Ob/Y74g4L4HBEWlblKUTwnclhyFPz?= =?utf-8?q?Z3Cf/YNac9xCef+wMV5KL8/LrrIuvWK6lv4mNsEC9gPdBS658ydkEBJJ8F2wkFdou?= =?utf-8?q?0TmjGyQaaFzOkKDCCHnVSIq/PHmpJ0Ho2Zpv6SBnPSdd+dpE2udK4+oahI65nTBIn?= =?utf-8?q?F0rKM2DMVBuIYC9Exco/HO5wmE7fkBDdFUSk3il5a78pxsZL2a3Zhguyxlvrh+OYy?= =?utf-8?q?W/BMZn7m0EVl8wzIg9D18KcoHRxjx3Nc+hmkI7V1srEeE9jDN5PWLNMFGaKd3E4WF?= =?utf-8?q?+fVynHetr3c8nuVd+0xn+A292qRVQYMmLhnlULOK4u4Zex3lJwrNRA+Fq7umDqehb?= =?utf-8?q?T3j80Ni9loy+oZpNBmKOyRblh0FoG2pwX8kgVNcG0UThzrjQcNMr9optbLgIDMClN?= =?utf-8?q?+bXgedmyjgfQUISeKY43J/iYvmDeJkVK2bsM3aAlDYN9LNoHKp2/uI3B/sa14DImI?= =?utf-8?q?NOA7RYX7zFVAjAiZT0oXqk/6eqOv4zzDYsp1CZ3Xkqoog508qOiNwFKmzxZZOIdgk?= =?utf-8?q?jFuq+7nPBEK1enitOkRiK3MeIcU9KhF6teylO16DMDKavLIynOzYJQdHQjbqDyUQz?= =?utf-8?q?CzL+c0rEgcYvTN3cnZtZXY8DPt6vWoNUAtJWX1XHa4liCT+UiFbuUVl+ThWk9KN5y?= =?utf-8?q?+9183vDFvkyV1wom8Kjkj0+7UTtLCZe8GrK2ieh2hywn4/ccAo/kAqkPwH5IjyPj9?= =?utf-8?q?sWst2yLyZ/IwtGE8IU/Kak5J82qz7XFjMjpybGA2WAgtPcUBqvYrzlgn0RS90IsB3?= =?utf-8?q?BWF0xDhwy2reFfTz7beQwgKppY6aKf2oVzZeBC8oM4g1En8/fz69JpJP47J2KlJsW?= =?utf-8?q?rhh22DesN+PNTT9TS2F4dC54UfNACA5ULA1TV9SADpa5hhd4rs5+lEY1eeU2u8wGo?= =?utf-8?q?kpYc+SDWi2toVdtxBqhIp15ZKzYwAaA4jmC74iw2FgyMmiucVL1N+Es=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: e0c5e71c-1e6b-4c65-73b0-08d9f12b31ff X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 09:03:27.5754 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Chk3v1fORFTYRO5g18Tl53vY4D/hsFc8YOT8SkNGmfKE3lYQUfQwN0srNSr1yXho67rLMDNV3trG6TwkHt0zmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB3104 X-OriginatorOrg: citrix.com Add a new Kconfig option under the "Speculative hardening" section that allows selecting whether to enable retpoline. This depends on the underlying compiler having retpoline support. Requested-by: Andrew Cooper Signed-off-by: Roger Pau Monné --- xen/arch/x86/Kconfig | 4 ---- xen/arch/x86/arch.mk | 2 ++ xen/common/Kconfig | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index fe00b4598b..7c73802adc 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -38,10 +38,6 @@ config GCC_INDIRECT_THUNK config CLANG_INDIRECT_THUNK def_bool $(cc-option,-mretpoline-external-thunk) -config INDIRECT_THUNK - depends on GCC_INDIRECT_THUNK || CLANG_INDIRECT_THUNK - def_bool y - config HAS_AS_CET_SS # binutils >= 2.29 or LLVM >= 6 def_bool $(as-instr,wrssq %rax$(comma)0;setssbsy) diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index f2aa2a515f..0597e714f9 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -42,6 +42,7 @@ CFLAGS += -mno-red-zone -fpic # SSE setup for variadic function calls. CFLAGS += -mno-sse $(call cc-option,$(CC),-mskip-rax-setup) +ifeq ($(CONFIG_INDIRECT_THUNK),y) # Compile with gcc thunk-extern, indirect-branch-register if available. CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch=thunk-extern CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch-register @@ -49,6 +50,7 @@ CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -fno-jump-tables # Enable clang retpoline support if available. CFLAGS-$(CONFIG_CLANG_INDIRECT_THUNK) += -mretpoline-external-thunk +endif # If supported by the compiler, reduce stack alignment to 8 bytes. But allow # this to be overridden elsewhere. diff --git a/xen/common/Kconfig b/xen/common/Kconfig index db687b1785..3b0ba16a6a 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -146,6 +146,22 @@ config SPECULATIVE_HARDEN_GUEST_ACCESS If unsure, say Y. +config INDIRECT_THUNK + bool "Speculative Branch Target Injection Protection" + depends on X86 && (GCC_INDIRECT_THUNK || CLANG_INDIRECT_THUNK) + default y + help + Contemporary processors may use speculative execution as a + performance optimisation, but this can potentially be abused by an + attacker to leak data via speculative sidechannels. + + One source of data leakage is via branch target injection. + + When enabled, indirect calls are implemented using a new construct + called "retpoline" that prevents speculation. + + If unsure, say Y. + endmenu config HYPFS