From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755513AbcCBQi0 (ORCPT ); Wed, 2 Mar 2016 11:38:26 -0500 Received: from mail-db5eur01on0056.outbound.protection.outlook.com ([104.47.2.56]:44654 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754613AbcCBQiY (ORCPT ); Wed, 2 Mar 2016 11:38:24 -0500 X-Greylist: delayed 2578 seconds by postgrey-1.27 at vger.kernel.org; Wed, 02 Mar 2016 11:38:24 EST Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=nextfour.com; Subject: Re: [RFC PATCH] x86: Make sure verify_cpu has a good stack To: Borislav Petkov References: <1456917606-4979-1-git-send-email-bp@alien8.de> <56D70CE2.1050500@nextfour.com> <20160302161532.GK16954@pd.tnic> CC: "H. Peter Anvin" , X86 ML , LKML , Tom Lendacky From: =?UTF-8?Q?Mika_Penttil=c3=a4?= X-Enigmail-Draft-Status: N1110 Message-ID: <56D716F7.3080407@nextfour.com> Date: Wed, 2 Mar 2016 18:38:15 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160302161532.GK16954@pd.tnic> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [84.250.21.106] X-ClientProxiedBy: DB4PR01CA0059.eurprd01.prod.exchangelabs.com (10.242.152.49) To VI1PR07MB0909.eurprd07.prod.outlook.com (25.161.108.27) X-Microsoft-Exchange-Diagnostics: 1;VI1PR07MB0909;2:jHlNNbhU+2kLFofWJ6UT37KE0t7h6GKifeECx5Kt7UhwTqyVSsvMfRThg5dCsicenhMznBgwbB+3okMECGPkqjlsRjJTGXbAtZ2KH/gHlEokMlUaViXDUOMn5wpuMC1unpi9fsB+DM8Giquxmsr3Ig==;3:MUO8ZHPDx3RwU3uzbDKLbJB8mXRlBLnV0KggMRM6UdQceR6E4B/IJm76d40f53UWQgzj8Nv/esgA14cosYXqzKpgY8R/Ep7ieXbHRUkJLxuT7QeGX5PP8QQi7j3FL/g/;25:b6pj9/Tux+OrSUnrz0btxqdjWicqBJm6ty+fOioe7o2wduYb0RbAm8BY2sFuEp2pMDw5sDEyuum+AMDuJU80y5ZBqRTzI0gSfnVkrg7k0sN1vUzIB685NjCh+ocAz7wABiwqe6DH8Nwdz0N/e1eznPzCVILPXZ5b1G/RYkKfM2jwpGGvFhgq6vqiSw9qEPy/rTa5+XNaRBPy4THcEmyfEE/R8eDQbI8kitTvEzWsjqNFysN5V6HlTaUBFD3JAbKHWLFi2tayW2e1j3/XOGaIM9XmEsdWSYDl0UWSm5h475CuB4zuT5bLKKLA00TsFOwx8pjJa89j47xlpfkojWaf2w== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR07MB0909; X-MS-Office365-Filtering-Correlation-Id: 3c8c6547-24f9-473b-b8ff-08d342b91179 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:VI1PR07MB0909;BCL:0;PCL:0;RULEID:;SRVR:VI1PR07MB0909; X-Microsoft-Exchange-Diagnostics: 1;VI1PR07MB0909;4:ohUn3Z+Jh++GjWSynoyxEZcLLI9Z9HtiW54soaz9iwIE1TdWqjRDR3SvP5+Eg8UORwE8uAHxFhdPBs/Adv4Mkwo6GDuRZIwkbgq44IWAQEcSeFVZfuKESHQNE8e8846bkPa4mLiNlvmeuhaqS7THEPeuerd3/zoVUbyw5mgxaEFHGpxsZGFRDec1K1jD1D+vtdrO+WfBhbWfNjmvKnKwXoEq6gIPadvwYDGaCYjS5qwTlJn+TKXxqCb8OcPoDxkpJzSrqG+D8yQEpKrRwCAp52q8F6+nYxI8VQ+9Fm3drAtAOXiikpWR2OkPHMOXxlQGQtisTULriTUQUfR/0ZtZ1XGFMYTm9/XZbF9BqdXVZV1dOEbA8U8loqtYmlYTJO7R X-Forefront-PRVS: 086943A159 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(24454002)(586003)(122386002)(23676002)(6116002)(40100003)(15650500001)(3846002)(65956001)(1096002)(117156001)(66066001)(59896002)(5008740100001)(77096005)(81156010)(5001960100004)(50986999)(65816999)(54356999)(87266999)(76176999)(4326007)(189998001)(33656002)(2950100001)(83506001)(2906002)(87976001)(2870700001)(86362001)(36756003)(4001350100001)(5004730100002)(50466002)(92566002)(47776003)(42186005)(110136002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR07MB0909;H:[192.168.1.71];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA3TUIwOTA5OzIzOjd0UGVoRmdIeHMxL2pza3BiTzk0UDVsZTlG?= =?utf-8?B?b0Q1UjJ4bHNaWGJnYUVDK0JTeHhvN05iWGxwSlYvNU5uejhrdlNOOXNNcHQy?= =?utf-8?B?bEsyOW13Nk9rdldDWXNXRUYranl5cml4djk4OEJEMkRRRFM2VzlzSUl2bUpR?= =?utf-8?B?Y01Bb1ZmNkEzZmRJdmo5SmRIeHpCbmZMbFg3UlRxSm0yY3h5OThPNGIvQ0w5?= =?utf-8?B?WFJBcndrOEgweElPeVFnQUJxNWhtMWQzUGJtVGtKb2hvQmRKMEpOOEd2ckpR?= =?utf-8?B?R0dwc0hSTFNxOFd4aHV6aHlnZE54eEVGVFZlTkhPVk81QlpGRE5LaUNFbDJV?= =?utf-8?B?RWwzaWcrZGRraGJ1c2FZU3hCQzlwZS9wSW5GYnhYSTBZekhJcHAwWWYxNFFn?= =?utf-8?B?Yjd0OUlCOVNsUXFIL20vQ0V1UWpNOWdCTit4bnJQOUh2Szl5WjVxcDlCZFVk?= =?utf-8?B?UEpOc3RVbWVRV1E5bE9LSm9mUldrdzJ5WStqcHgxWXI4YlFKaXVteU4wbnVH?= =?utf-8?B?cGN4S0syazJRd21TbFNqckNXUVdkRStiTEVXK0ZHUHRzUGF3Z0dZTGpQWmZY?= =?utf-8?B?STBubjhNaHRUUWFFRUVuSzh0cnJ6UkpmZlBWTlYzMUxDd1hPMEVNbTlXNFhl?= =?utf-8?B?NTlHSGdla00xdHl2U0dxNWJ0ZzRZZlJ2YWV2aGpJYzZrOEllVEtDMEIrb21k?= =?utf-8?B?WlFhVVgrejZJVllYMmpVbjEvMURjWXIzeFhRTFdKcnJiUGoyQkppSFRRVSto?= =?utf-8?B?dnd5LzM2cm9HbnhuS0xzZEk5QVc4eFlLOGxsY29LOWxSRzdrYlFCamsvNUgx?= =?utf-8?B?WDRERVFJMVZJOUhXcE9jYzVqa0ZGQ0JQSGlqWllnL0tYWFRSVWVvbTdpdFVJ?= =?utf-8?B?eWprMkJtRkVTUXloZXJRczhqcmUvSE94RXd6eVIwbFJSVjExNG4zQVR4bWRF?= =?utf-8?B?SVhNVnlSbDFKVXBxWjZuZlpldTZITTQ3YjViSUZpTkVuRmZDNFBCdzI4akpt?= =?utf-8?B?Yk8wZE1LbTRwZVdqK0dyMC9oQzJ2bTkxaXl2WmE0TUhJc1Q3V0ZGUkNITlNG?= =?utf-8?B?b0lNcTBDWHcwNUt4NlVmUHRtUzM4ZzVCTVBhQTRTRjY2YmxreDdjSXI5Nmht?= =?utf-8?B?bmdvNlpmaGJJbjA2STRncGJCekNNbnBMUWZyOHk4OXNXR0lZRnpYM2pMelF0?= =?utf-8?B?cUR3K3ZTekZPQ1Y2WXlMNG9acDJ6bVlRVWMyOGt4VExrcEVPTnl1bDBlUjJj?= =?utf-8?B?aGtDVkxTaUJLWlFzWW5GLzgxNG42M3JjNXZheWN2dFFwTjhXMENUYldFWkRF?= =?utf-8?B?VE5xWUdUd0ErUzQ3VUhDczdjRHBHSnhGRTNlQzUvNHZmWHBwUU9vNU83NDVB?= =?utf-8?B?WTh0OXNROWgrTG94VjlKNjFMb2hCQmV3YWZLVzR6MStZMGRKdkJSWUcxbUJq?= =?utf-8?B?T09qUUJTSXF0SkNiM1lYa0tMRGVROVF2WVZ3WHhtVjFIQzVvYWFmbHlFdk5K?= =?utf-8?Q?SncT4KZGhvRM0JF8EOaQEu7Kea4xeIfzurgJ60h2NTeD8H?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR07MB0909;5:+rNY9MnyBVclmz2B343eiAWCz6dtA0Gd6Gmt2X6twPuevcv2eRAE4upHzIzrqNaq/wYRoD19kaC83sKbUb20veDKOq5IsMahnVvBEpac3MOWRcWPQZ6ieW0gM4llTTYb9gSFJiyfTYiv9IwQSlvveA==;24:r0XbIwL9de0hJwVqzkZDAxAuQOyp34jjdFFOEqRv+E4a3VrMhEz3yrB36VwqCN61b3cUqF+M4rHCnURFAJHM4pYfI25dCpGkUMUD4PrMK8g= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nextfour.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2016 16:38:21.1600 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB0909 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02.03.2016 18:15, Borislav Petkov wrote: > On Wed, Mar 02, 2016 at 05:55:14PM +0200, Mika Penttilä wrote: >>> + /* Setup a stack for verify_cpu */ >>> + movq stack_start - __START_KERNEL_map, %rsp >>> + subq $__START_KERNEL_map, %rsp >>> + >> You subtract __START_KERNEL_map twice ? > Yes. That's not very obvious and it took me a while. I probably should > add a comment. > > Want to stare at it a little bit more and try to figure it out or should > I explain? > > :-) > I actually looked at it a while too... The movq stack_start - __START_KERNEL_map, %rsp turns into (objdump disassembly) mov 0x0,%rsp with relocation 0000000000000004 R_X86_64_32S stack_start+0x0000000080000000 Now stack_start is at ffffffff81ef3380, so the relocation gives 1ef3380 which would be correct, so why the second subq ? You may explain :) --Mika