From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754924AbeAJApp (ORCPT + 1 other); Tue, 9 Jan 2018 19:45:45 -0500 Received: from mail-dm3nam03on0061.outbound.protection.outlook.com ([104.47.41.61]:53408 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752373AbeAJApm (ORCPT ); Tue, 9 Jan 2018 19:45:42 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [PATCH] x86/retpoline: Fix NOSPEC_JMP for tip To: Thomas Gleixner , Linus Torvalds Cc: Andi Kleen , the arch/x86 maintainers , Linux Kernel Mailing List , David Woodhouse , Paul Turner , Andrew Lutomirski , Peter Zijlstra , Tim Chen , Greg Kroah-Hartman , Dave Hansen , Jiri Kosina , Andi Kleen References: <20180110003139.10531-1-andi@firstfloor.org> From: Tom Lendacky Message-ID: <184a65a3-6afe-4c82-7f7d-2c1d4a5198bc@amd.com> Date: Tue, 9 Jan 2018 18:45:34 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR11CA0026.namprd11.prod.outlook.com (10.173.25.12) To DM5PR12MB1148.namprd12.prod.outlook.com (10.168.236.143) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 51a88d3d-3579-4332-f928-08d557c37906 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:DM5PR12MB1148; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;3:h0vF5MuSm0oqfaWXSWPonuqTaV7spaYj050QU7sucZSWHkqc2Fv8LDKJ1Px0+vUz4cWM+2dOAGZvpWTWXFuvW0ZzZOVNEsBCVlbO8JK/kmvSMYe6iDmjW2K134MqR0/bS0m0KZouo1dL0PKa+iVqSrWtG4WvJUNi572QsjdgRi+OLN1ZcNWMROEej92Srkkdy3PPj9tVi62gxWgcibsXLfZ0KS+9DwUGTmUnxshWh4Od7g22FmZp6zeZTH9YzQdd;25:+RCB9tSbx0iJvhcoew6P8DYF7+K8hbRIh0zRMKQam/yLZxqLLO+2i9R+u5LrOSoBWB9GkUgt7Na5lIOS7tMwTK4eF9Sss6aJsLkFQmyNkg+zkuVR5+tLFRaJLgty8BgGkwj7VhoYhffp9WrQ6sCWiXL6x5sfmVRDSc02GK7yeHEv59soKYl25prMj1oXAapU3ea9R7pQwX4MryI3sn0MBGW61W5eCU6ZRsMTzi5AYLfRn0npjeBXFxpueUu3kF5rQaRpQTrZys4JQmE7bMNi0fTJjVbHsqsExI7rC8f/SPyboJibbQfPE5uUu6cT11I+8tlbHO/lcH+SDbBzDkxSHQ==;31:29OCUS4hXGRj4k2pFlqtUDgx3rrlxLnRMH0qHtwIRlFOCCMq5vntKzP4sAKoGcqZL2Vp/QuduCiRfn4eIUqimboIPon521Yl96D1gQU1zLouWC6Ev0eJnSQM3UQ1b1GMFtwBX/f/CP2o6JT8hZZTXGlasEIPBxRKh4DOncdxVLIM0iIsmn812adXF1UDGgTMHn7nscL4L5YUKYoLz63dgk+m4hzFOgU/pbHVC7U5kC0= X-MS-TrafficTypeDiagnostic: DM5PR12MB1148: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;20:BMC1DqPmrWo6VRNf91LmmBG5+skoGp5MbvKAY5eerGpxCK29uZ/TfNvjKkv6hDBJ/sJLzk+a7tKMC/WaUeaA1f6WyuUCuCUFf5tSf/1Y2VksU0+TeJ6z5+knElNMld83rTVaosz6ZV0D8bGIsmeLxf0rDaTVisPXnkwtesmfE2RdEn5+4CjdTU8c8K4yqG0JQ8g4Pzh/Po/aC3xDzF65+22VLQlOtXOTZPP4gy4IAboGwdw2VDZEZgjuzCwN1hmtLVT86Kg4xxBC2p4ruyGfvtqiNTq8G5ECcIdSU1Vsrp2sjef18NuZwt+HM/oxlCQTLTM6xRsM2kNK6bRtTaNO1H5hDyAjffKJmU7jBZm36fn9khWP+D46i95A4VKTMl7QhctnHWaS4wwFWTNkRKrGtqaOKomqa8PFECTIHQFjwDP6m1/CHAgp8HbAwYyc/wc3mzlfng2RNFK29YE+swvQE01K4HyuY9K6viaez11UgcK1ZY0/dwA16kqdJRyMoiJh;4:cU12zUkA5pz7ShZGwZEHvB5FwnHEKXwvVNUcpra8mE+/YaqifGhWKT9VT+uU4ctxxJe/WtrC4pXAmrGQfUHAe/XwUj6yuBWHoPR89ccP9ufjr/DjYQeGjhwAecyKUhuevrEypNQA8sE+0ogq37WKDUxw/QZvycKkhGr980+V/PTtbx6GoEENK8XWTGdYdJDQ6DDdiRp8RTaB4d7vQOZPiZG9KHrZXVzPY181m9AtslhXK57gmtS+NXLs39HlAuOFWwNEtv+LDvnnpPVO3UMVYA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231023)(944501118)(6055026)(6041268)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123560045)(6072148)(201708071742011);SRVR:DM5PR12MB1148;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DM5PR12MB1148; X-Forefront-PRVS: 0548586081 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(366004)(39860400002)(376002)(346002)(396003)(39380400002)(199004)(189003)(24454002)(52146003)(76176011)(65826007)(31686004)(6666003)(2950100002)(68736007)(316002)(8936002)(50466002)(105586002)(478600001)(31696002)(4326008)(386003)(52116002)(86362001)(2906002)(23676004)(5660300001)(64126003)(53546011)(2486003)(53936002)(54906003)(229853002)(90366009)(25786009)(3260700006)(16526018)(16576012)(305945005)(3846002)(6246003)(6116002)(110136005)(72206003)(58126008)(230700001)(36756003)(77096006)(81156014)(47776003)(83506002)(65956001)(6486002)(66066001)(81166006)(97736004)(65806001)(106356001)(8676002)(7736002)(7416002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1148;H:[10.236.65.116];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ4OzIzOjFDYkQ2RG14TjRtQ29CYkFIYjdrVGJtK2pl?= =?utf-8?B?TEdpUnR2U0U5S21qb0JzY1M2U3lXUmlVai84b0NwbWMzOURxVW0zbDB5Tkkz?= =?utf-8?B?MFZsSDZYSzVObnZSNENBMlhhWkxCdjNJY2tpam9BNU4zVFpTelRLTnB0QXFH?= =?utf-8?B?c0tyd3VYaXJKNTE2Q1Jhc2hueGthV2VpZUVJeWU5MHgxRWphVzl4ZWlLK0w1?= =?utf-8?B?VVdReER4dnZyZmtSY281RTVJMmcxMmRqcFF2R0NWWlRUVDJHSHdrWFB2ZHA0?= =?utf-8?B?K3l0aXdlUUxvSzJrREFPeGNXUGgvSnJTYS9Ec2Y0UE1Cbm1sc21Oc2FIWThj?= =?utf-8?B?NnQ2K2RQY3BBWFc5enBjY1hLNTRENDVhZVFPY2hKQVR5emgrVWZHWHQ0ZEZQ?= =?utf-8?B?Ky9ld3VCKytnUEgvTi9ZbHVib0U5cytETGpjcXNYTHd3eHFXV0VDTCtqSUh2?= =?utf-8?B?R2NMVFk3U04xRDZpYmlsTlhISUFsZHpQYW9uR3cyU1Rxa3oyODQvcmxsVmov?= =?utf-8?B?elhLT1Z6RzNvU0VNaXo3OGt3NXY0cjRtL2ZWZ1VLWTJUMFd1V2QzWHBDc3hJ?= =?utf-8?B?V1h6UnAyblRBdWxsbWhlSzVPR25DRTNrL0w4ZkxJWjRqaG5UTmlYdk1XUXZN?= =?utf-8?B?WGYwQW43aEJLak0zSkJDY1BRcTVCRmM4SVZuQ2VMVGF0SkJZQ01mVTF4UWtv?= =?utf-8?B?WjYzcVpleFNxQ3lwaDVBaVNoSHp1c1Jjc1I1MHZPYzJSY2Mrc1RpQTFzTThn?= =?utf-8?B?RGFOVDNXSmRCMjVJRzcrNUVPbDVSMS83YTVQUEdLd0p4cXF2MUFKMGZpSWVJ?= =?utf-8?B?ZnltZk1XaDcvNXFXUk1QUUZnelJUZVNMUVkrcllaZkFyM2U2UElYa2dPRVIr?= =?utf-8?B?NGttazNkS0g1b2YwTGV1UVUvRU5ZVVpob2tDVlNDK3M2WkovNkJFNS9MOVNo?= =?utf-8?B?MEE0cUJWckg5RTVLV29uTEJuWWVWWVRYbHZoWi9oMER1ZWlwNHlwMTErU2xL?= =?utf-8?B?VG9sS09WTXNzbi9yRTU5ajBicllXUERWVjFRVlc5YTFUYVpzci9BeE5YYjlT?= =?utf-8?B?OXBUOHZyL0NiU0VvNmt2MjhXamlsOHgrQ1NxdFFuelIrNzRqbERSR3RTTUhn?= =?utf-8?B?NDBUUml0aUdPRUhzSG9wRUd5bEI0dzFRZDM2NnNFQ2lSd2VUeTYwQnk5NGxI?= =?utf-8?B?aTNyVUVzMEhhWENLQ05PWi9XeVUzMmhBblFSOEVyUzdqTjBvbUxXVUhTcmhz?= =?utf-8?B?UWhMR0pucFhVUDVNK0VhenVqa1Q1UWFhRnhud3FTbHo5Ymd1WXI0WkRvVGlu?= =?utf-8?B?SUoxUE1jbFEvSFUzYTZFc2UweGZMNzB2RXMwb3EwNmJZMGlEeVlCZ3hLQmhk?= =?utf-8?B?dUY5aHpDWmFiTHhPS01SUmIwQXdTdndlc0VUb3RPWHRnZW9vZTJpMXViNWc4?= =?utf-8?B?anlzOFE3ekpIQWtLL3lyN0l3b0hNWm1VenZoUHRKY1Q3Q2hodUEweUMzUUhT?= =?utf-8?B?S2xwY2luVjJtWGJ2VXptU0VXZHNhQXBuM0ZkUHhWMmlURXM2NVZTbExkOE13?= =?utf-8?B?TVdFd0xUVzVpK0FWcmZkazBjd0xyZzRIaU03VXlwaXFlTzJwdkgrRjVrbmRo?= =?utf-8?B?N3FQMWMzTUpjK2VZYjhFdEpEWDFodHRhYXhqRlNnUVd3TWtiY2hMSVN3dG5n?= =?utf-8?B?V0dDL3IrUkJFeXJEbms4YlZJMG9QenNZL3c1dDF1RWN2V1Q1aGJCb0xHNzZH?= =?utf-8?B?NUNLT09ueE9kTjh5RzVxNGFSVktaa2dBU3N3WFFlT01vRGREM0V5K1o5eGt5?= =?utf-8?B?d1pVUy9LbVQzK3oyNS8vTUZHaGFwNkJpSnNlM2lmdlpJK08rd1VvcFNKZjRB?= =?utf-8?B?bWtuaXZPbXZyUTFDWDhhWFAwNXpHYUU0NlBzWHM2YlBFMkxZc1VyQ3ovNk95?= =?utf-8?B?dTRyak1NZmR2UjFhdjRKOUsreXRERlpyYUUxRi9qK2xOdnNDNmhOdStieDFC?= =?utf-8?Q?0EaDx0?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;6:nP2nmVsHwfi/YHwxSpGQZs6vjCyc/SQS4zIsSo2S1/8wsvuUe1aFNpy+9wyKVPEqkgevAlDclU6j6h6POTMu6GlZL33XYARwPRpCt3AIqqMTjdlZvfSFdSKcBbwgsp4vGvZskYVmpjIIyAQncDuWxV4fXArTgXeW3M+Y0yl6d3Gv2GS2BwH3fSJsJfvhj4uBg4Hce2S5UVpXF0tfGsuhYMRJQy3VH+Funsdr8GPPCAC4Gsokvpn/6m5o0LzmQPOgMfxVd5PlrLuTi+gBet4uWweZAbiM9M4W/POYaXcCExC43jjzvIHibx/hlzXFMd1EU/nB1s+/AzpWeZkW3Oegnli47ohUUPs8UrsUPdOuJtg=;5:ZXzYmOOI6vpG+aF5VRNBs1TuzkaQbf95GyUSucT+QRwlAK3M2pvvPsGbxo9WJiNRQ4ZfbkHdkEcxmFbAw6tr1/Syz6LsP5x8Qq8ba0uKrZqammRhY2Qmi0G+5sxEYZXCQBn5XkEtZ1XXLb3oaNWtvo3eoRQyFiG3LwkGW9NZ63U=;24:aGtFk/B5Zb6N25ZcKrJYo6jKH5/ubjBHoEI2v4k5i/GSb+XAdhFoWpWwTgxVvrAW6WFT4o1Ia0pSz6cVNm/oru9nZfEiQC2XPgMO/NW1e2A=;7:GW/p06jYpmKeNq2FQp/3cRRFu39JAOdxr2KpskdmlB49++3jNNHNvgaBYH6kFTIovySRYEvV6y9sBJg75jlO8J+glhRrlmKYN4VhLjjskcQgv6MkjhGfhOxTMsCO2JZ6cV9+nE61k9ZPqe5xCkoyIDH6JJIuJ8XJVAXkq99BIKN/4EszoEzMQJu/xTKYUCh5KB+oKmQbKhhR+GR0gC9exbisrbQHOD9iOjJq/DGxaMuATv54WUpITg9wOZQQoZQB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;20:6cQcpAY5+7pjjfVaMMIcqFFtijCT2pmijvGi5oedKUULqtYbzvZwME8/pejldfwkd1aFYYXGB5PcmYgiu1OCWLhUcEp7oCo3HPc5ldkpvuUGBPitVepuK6frowAsDr4rXgZtFKEBmUPSJ4ukLBOKx33irE4gRAXN9aqO5fOA/RpMPNRQ6R/W8sgLiG5DRIuoh13Fgvt5dio1hYl+ZXZONUiHasu4SsdljfLOkX71u6KdwCVQXXYzXghVZ1aWrF0U X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2018 00:45:38.7282 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 51a88d3d-3579-4332-f928-08d557c37906 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1148 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 1/9/2018 6:40 PM, Thomas Gleixner wrote: > On Tue, 9 Jan 2018, Linus Torvalds wrote: > >> On Tue, Jan 9, 2018 at 4:31 PM, Andi Kleen wrote: >>> >>> The following patch fixes it for me. Something doesn't >>> seem to work with ALTERNATIVE_2. It adds only a few bytes >>> more code, so seems acceptable. >> >> Ugh. It's kind of stupid, though. >> >> Why is the code sequence not simply: >> >> ALTERNATIVE "", "lfence", X86_FEATURE_RETPOLINE_AMD >> ALTERNATIVE __stringify(jmp *\reg), __stringify(RETPOLINE_JMP \reg), >> X86_FEATURE_RETPOLINE >> >> ie make that X86_FEATURE_RETPOLINE_AMD _only_ emit the "lfence", and >> simply fall through to what will be the "jmp *\reg" of the >> non-RETPOLINE version. >> >> Then just make sure X86_FEATURE_RETPOLINE_AMD disables X86_FEATURE_RETPOLINE. I think there are areas that rely on X86_FEATURE_RETPOLINE being set even if X86_FEATURE_RETPOLINE_AMD is set. For example, line 261 in arch/x86/entry/entry_32.S is only checking for X86_FEATURE_RETPOLINE. Thanks, Tom >> >> That is both simpler an dsmaller, no? > > Duh, yes. >