From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966227AbcIVS76 (ORCPT ); Thu, 22 Sep 2016 14:59:58 -0400 Received: from mail-bl2nam02on0060.outbound.protection.outlook.com ([104.47.38.60]:36576 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1034044AbcIVS7t (ORCPT ); Thu, 22 Sep 2016 14:59:49 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [RFC PATCH v1 09/28] x86/efi: Access EFI data as encrypted when SEV is active To: Borislav Petkov , Paolo Bonzini References: <147190820782.9523.4967724730957229273.stgit@brijesh-build-machine> <147190832511.9523.10850626471583956499.stgit@brijesh-build-machine> <20160922143545.3kl7khff6vqk7b2t@pd.tnic> <464461b7-1efb-0af1-dd3e-eb919a2578e9@redhat.com> <20160922145947.52v42l7p7dl7u3r4@pd.tnic> CC: Brijesh Singh , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , From: Tom Lendacky Message-ID: <23fcb1d7-e9f8-26b8-bfb7-b2d525e49bae@amd.com> Date: Thu, 22 Sep 2016 13:59:35 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160922145947.52v42l7p7dl7u3r4@pd.tnic> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: YQXPR01CA0017.CANPRD01.PROD.OUTLOOK.COM (10.165.102.155) To BN6PR12MB1140.namprd12.prod.outlook.com (10.168.226.142) X-MS-Office365-Filtering-Correlation-Id: 3c2028d6-334e-491f-27c2-08d3e31a9ef0 X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;2:jr8EzvleKyi5s5UC4FJsdxN7hhAls0a/sSM6CORDLSB59iBgFzwzhBRSjmRX7qkDIHKfROj6iAaST3/zoyrQq2z6ONj1kF6ttlQn7WT4RmPNJGPNkWSxY/JH/Csrh5fCWWB6baUg9x7T6L85wWu2lQVk7dazOjriaY0JMXTA86tK2dTchUw2Ie5WSHgfaism;3:FhlPFHefm5wO0X3+8xo+tS72d6OCeR/paXsc1apFjyCF5bfSgaYYzO1StZe6rvh1WT5iJKVkW7mB13q8QlxLTriZstA46ECRaKlzfeaBqPd5ZpBqpdX/NXLQoOMLWZUp X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1140; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;25:bLbAm5Q1+dZpdSLhWjU+K9GK1pPfd+KGiKH39JJ/sY0vtcAnS62Gl7vy2Jq/rxPybSZbR3ciQAx5Nf7ffFnAfRdJq9ARpkAaPy6XqnaWlMRa0J071XZDMvO/d+b305r0RfIpxrDdi/ECBt4z+XDllj3mYt6qNtqej3WXF3NoU068v73VUNIIJEeLb3C2KNXJoTPKw/aQ8jLjZV80Da1nrPeVCudqs73tedDzoe9mxp1W97pOfz8Y6dK2vyAeXqjr3vdyDcsiNQVDcuTgNhrpHkZ3lgrxIRpsqrKEnJgGKXov/T/MPoa2B1L8RU5ZKhOBqm+Kb5AWlmXgY2W/xEHcg+FdgysGdY2cPaGiJed0ZJARW02VZZebdTcSGLvowEQ+jz0wQKslJlXQrd6QinahTRQaFHrYdn9Dc5UhbSGi0+/0+X1FbtQHqbdz+AWCznBHfCQOBqpLQr5Y4h7u+EktpegQjwBTeFGtdWOcE4T6rZtep4ojkOHBRdmPNttgfK7z4MnCz0GWnPsJ/o2cz8o8cIAdVtg8ClZ+V6Nl/HMbAOzkg3TM/PZFNRfQTrDsp5K8ca5rdaMG0oU9UpD9OKSgbsQcoaOUSbz2R466grcEZSrWS5cH2MQlVtvpjLosZQ1labMmy8BJSlLRRKTsEGaLl/mGHR57icM816z5LW52uJ1Oop2JsSVaad0+tMo78f9F0cyGLUsNoFeV9/0OjABUTWHRo2uXKVcAm+sy/gHVSJGLe0EV6PrzjVpeyT2oZqo0UNGx3ox8vsI9K2WoIgjfZ8SbInb8Sl7jlTVxVZc1v3wZ/3qujngaLUi4t//KLjm8Vm/jqoh+ppw2uVtn2ZfDNQ== X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;31:xotsuE3EIXMoBhIk8VPE3ulS3YLvwdJA0Pw349xN4WX6NAuSsJwsiC3A0Sr3c2wigOLuN1WNoNKMJWhbDjqygxAKcgZCYEBiR2lIlHMVCuXt0AEGdKaacH7pni35vKCQwjqaQpz19ZmWnp/l3HpB4Lg9fPg4s06VBgopOBMA7+NpNDTpm9ia1Co2NmiXX4IR1LYd6+QtDhGuOZ1CTDi9Gk+l6kxONvcpVIn27GO/GZ0=;20:9elOjZLo8Uz6Svdt00FOPmmO18On5vkqQyrvGa1w2PeMnYJRL3SKpwClU2IQEvN/g8OKE2Eah1zE6hNR5Ttt0mjbVmKvaNJsH9r+xodFldRFyFclq9MUv+QEzD+D144/kUcf2tzy5jLPK2KFH8t+z3RwdEb33T0kWaz4ixLHzPVNGFRiM4+gdMZCue0BZmCHu/lLwqTErQ0amVnKC4VPbhJ/Un1K9X82AnnS8E4OWe0wYV3/K6cLbil96X0YpGZSoK+WCDag0xxPubqQE0X6N+mNM+D7XMDVD7y2sn0eoE1Qhgo3R4yBKHvUze1ICcyrju3B/zPX269cGlMm7L/1R39UZqlGaoaPxlR8ydCk2Fk7nd0jA+TvT1bZMwqsMMLBAt3J99Su+vwciSQ1Y8PeRhRIVBW4gs87EYWhZ3Ee8p1I3ZlDgd0dfgRdaGfPu66dGnjKZLxmaSqO664JPB96NrL9TgP4P9nVum3Bs1ZMOyemFef+p9nJ68xy4CaP4//I X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42068640409301); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:BN6PR12MB1140;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1140; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;4:xiuHtEb+VKE1i6QyC+l+t7aUd8tnhXJ0sBM9+L5AByEgxJ+3KoIYgDeooxctGORUCmHqy1cM0TM+8oPUhBXoEl6TgRCQpSQPSYWS+r8o3tXL/lt07XGAuiR8iTt7J4S1bsVuPhM/cvj+4A12z4Caycv7buRX5SHcDxVX2S9uPGTtNik7a5jKE6l190COio5LW+d4rjIMYTql/c18sWdAp+p5fkVzsdOwRMSrLv05f7wL2+oLGib12ZzGCdUT9qy8WgaDaJz8V3CJ7BN6HpMic7C0qaR4bgFKSeaMvCHeZ8R7ezHfkbqHN8E0r59WVPaXXYMp3OL7fotJq939zlVb2GqworedrdXSm/fgpp/bcAuWU5TAV99Z1og9aysWlkWf0Cxqz++kVWilKB1gnQiaDwOY0v0Lqst9FXUhjZL8cwimyhAzSN3/zoQiiNF63e4No9nHalIUKRziNQxHzfpCXA== X-Forefront-PRVS: 0073BFEF03 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(189002)(24454002)(377454003)(199003)(7736002)(7416002)(3846002)(586003)(81166006)(5001770100001)(81156014)(31686004)(36756003)(97736004)(7846002)(2950100001)(42186005)(6116002)(105586002)(15975445007)(50986999)(76176999)(66066001)(65956001)(65806001)(101416001)(54356999)(47776003)(8676002)(305945005)(50466002)(77096005)(31696002)(4001350100001)(106356001)(86362001)(7406005)(230700001)(93886004)(19580405001)(19580395003)(64126003)(4326007)(92566002)(68736007)(2906002)(33646002)(189998001)(5660300001)(23676002)(83506001)(65826007)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1140;H:[10.236.18.82];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTQwOzIzOkFTYk4wWk8rZnN5YWhvS0JyV2RMczVIRjhl?= =?utf-8?B?Wm82S3J6UnNoeTVsS3c5eG5uNUtTdXpwMzVZTTczdUFnWTgwbVNzMy9vK0c4?= =?utf-8?B?TnFxWWZvRWtFUFl2UGU2NHJaV2FkM05PckdoeFpOWGZQbzB4azB0WldwSGp6?= =?utf-8?B?WGZYRlliMUFqVHZXTWJMMjdUK1BFb29TODFzbjFWc2p4OVRJUFpVc0ZzalJN?= =?utf-8?B?ZzE5Y2Q2OSswV1NJRzM5VkpZOWY3czZnZ2h6UFI5aXBhM2E1TDBpMmxIMk5H?= =?utf-8?B?NVA0NEJXemVhR0Z3U1NjcmlnVmkydXhsWmcxRm5zMkdwY1J1MUdTdjl0T3lz?= =?utf-8?B?YXB4WDd5emk1dm5BazNuL3hMT1VqUk82VGtnZWNVcHU0OWQ2RUs0bjJKd0JP?= =?utf-8?B?RXhMWmlMMG5tWjROVEgzYmF0T011N2RaS2xzQ283S2t0ZHZUNFIycnlKMHVx?= =?utf-8?B?b1RITTZTV3Q4c0hCbk81R1ArT0wzT2pJWjgrUjJWY2dSanJxbzdWTDcweVc4?= =?utf-8?B?dVljNDJ0L3M5L2ZvUlRzUW1GbEdYOGlpU1AyQXZZZHRKU2sycjRyd1dHME5H?= =?utf-8?B?ZnhwdlhJbXJZYVNlZDdpWnR6UjZFVFh2QW5UVHB6Q2NDcU8yRU5EQnBKYlRp?= =?utf-8?B?WXM2NVZHeW1FZzA0QzVKbVhoZ0tSYTk1OGtHVmI5eWJ2dE5DKy9YMnYvZ00v?= =?utf-8?B?OVFYaHovVDRJSGkxcmRGNGo1cnJEZjJLdHFOSE1qcDBPN3V0NG4vL0JrWFlN?= =?utf-8?B?ZEk4U0tGK0xaUTEwVEM0Q2l3eUVXanVkalpXMi9UNkdJTjJ5YWp6WVdhSWsy?= =?utf-8?B?ekY5R0gyY3pEWFFIaHRNWGJEdHluSjdmUENsZkpNUUJYUVB3YzBkZ1Q2c1Rp?= =?utf-8?B?WFBGY1dXTDFxeU93Zm5TS3BYcmZQMXlzYzRWbUJucmQwbkRlV1Nic2dKS0VY?= =?utf-8?B?QlcyVDd1S1ppSG91QW9wRnY1dnFtaEVudVNuOGdqcHU3ZHpFVGhhbXErZTJ3?= =?utf-8?B?K1QycmVMazRzME5lVWhyY3pjWE91cGkwaDZ4bmxSb3Q3bzhEVDBNcW9CSnJh?= =?utf-8?B?NnpwYmw5eVlLL3JvcVlUalRtd1RVTFE0VHVQdmw1Q2xtWE92UlphNXJpSStI?= =?utf-8?B?dU5iTXRsbFJnUEkyYkxUYkNhb3dzU0o4OUk5VCtnSkVEWUJVeENoZlNiKzhr?= =?utf-8?B?TjFuTXlld2N6cE9ZNFJsOWZ4czROK2NPd2VjdHN2VU12SUZvK2JUUHRGdTFo?= =?utf-8?B?a3RGWnU3WnlNN0pqb0dpaGVPeWFLRGtieS9RVndFU3UzYXNBOTgxTVNlTTIz?= =?utf-8?B?d0JiQWQ4ZEZMSWh5cWlmS2tpVlhFaXVlazVkSWFZTVZRZyt6WkdLQU1SQkdk?= =?utf-8?B?ZUhpL0VJeEhmSFRhUUVEMS9YK2NkVmpWNlVHbDNHQWVROW1QbGxQUDdJVHhX?= =?utf-8?B?ckFKbFgvQUEvZ0xFcERWMytpM0JlN0Y5M3hFTHhPNXUyNTU5UzNSeHFPOFFo?= =?utf-8?B?NWVLV2Y2VXZoRTk0VXF5dG5PWXovWGt2b3BGNFpWR09hRVdnR0VvUGx6aTFI?= =?utf-8?B?RWtlaXRrOWR0SmNDeFVHUWNQRDIxTWJ4ZVp3Tnd6bGRZOWhVblA5cGtTa0JR?= =?utf-8?B?ckNoSDk3VnBEUXhubUpSQUlTdW1MVVVUdU41YWRGcXhnOFc0NjcrK2lHSEky?= =?utf-8?B?M0NkU0d0RGJucTRBS2l5cVk3RU1OVGRZM2YrNkVnWFZFamJqOUhxZVRtMWQ3?= =?utf-8?B?ckVBb1d1anlQQ3NQMHNyaTAwYkRhemp2dmhXczhZTk0xQkN6Vk9qWHhvR0xq?= =?utf-8?B?R0czY3R3VnE5WWdUKzNOUlZvaUtwYmpyR1RMYUt0NHVoL0tiR2ZiNG5qbGRs?= =?utf-8?B?YkN0WXp6aExDRTZJR1BPTFd0eExyZHlNRG1IYkFMRDA3SVRnL0ozRVQ5ZUpn?= =?utf-8?B?emxDMCtDM2NBPT0=?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;6:iZYGU6D7QptUtZMHJkqpCCKLHApuTzLXU0LYdD4PcXa87C8pfDgXZxhwIr6zBT7MJ8ldblO6r66FDHi1XjRJN6GXVwNk6XzuGAWyqhVkJdRUfMlpU350R4derqFb8wB/s3l4MiBljBB185J5VwS/7oZRGTY5o8yumccSNz6+Jkv5QC6LMGIaJPRKpjRBx0ivHQwwgtTGvDMZQv+Tw8rjmNxYz/BqNoAiinqfqCyfZwL48nut5ytfX8+l2DJgCTTL7nLSjBPC65/Wf5xUgK7OnOWikCKvE4f4z0T5QZLBUFIkIelQD81AM4PsuUC9+AnlZQRQGL9leaBsVpeQGDzpww==;5:iq7AQ76eKI2kIPVXg7YImTxlzs8JpBgnhAzsUEFWFst/+U9VwW2cysYBYUlzEg8AyY0jvthM4XOxthGf9xQa4NCmKN1DcJHVVseOcvwaPlkr9re2X2vwyhC8dmhFFNtM14LdOpq6gzMj3tsEkOyscA==;24:ZZaTn/nnEB0/Oy4BbpsJeaDAENsjk355qAYYNjRYgFJf/BGq6pgrsYxuV3Pnh4y9TUMG/31oAIdxjy+6dqMEx4r1IC+bRZynblzF9Lr9534=;7:Y16c9dJDmt0rTH5afTp8OwL0O4vHnwf87ebaqxUnQzMHR70GSlR33722E/UGFAneyoKYK4kr4Uj/OkBvnCWwK3et8QbNJC6LaJWaNPLnMhGBn4lTQjZvOEL4mWxEyPkwoJFhXyiHvLODKIRdeBZmiq08RFK/+SxwqXoQwTEwu1bI58CKg9Dw6pvIonM682XCiTAlxyGHW2lEAGVkkBJNY8cF0XOikM5ycOGeMKgXAYBGBrlghJ+XsoRT3zgSbXxR6ovRrbwAydSIKleGh7fKxiwlunfcWN7Qqf1C5GHZ+wwtpQV6Fo2sHw3GeFzbndqe SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;20:1eHTSc3+0gAoJR5wgKN0K9QiT8jN4m3BMW3XHyY+tbroBQ+78NCbUTS1rGWVo5cS02JHMmABVrG4H1vB7JZFq46OnRIXJypT5quDbiRsf+zrDtIKRbF148sYZeOlvrkmL5adQUW07kmLasfXe8eXmLMLQznAeDPQbUYARGPq9ZfEIntA2o51wY5gmKy6SJPUyHkpykO2qJ+UUMRMsfSBQKcSO3qaVKj1b7Oq0QTLluACYbOw+cFnED2vuJXnDmMn X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2016 18:59:42.1449 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1140 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/22/2016 09:59 AM, Borislav Petkov wrote: > On Thu, Sep 22, 2016 at 04:45:51PM +0200, Paolo Bonzini wrote: >> The main difference between the SME and SEV encryption, from the point >> of view of the kernel, is that real-mode always writes unencrypted in >> SME and always writes encrypted in SEV. But UEFI can run in 64-bit mode >> and learn about the C bit, so EFI boot data should be unprotected in SEV >> guests. > > Actually, it is different: you can start fully encrypted in SME, see: > > https://lkml.kernel.org/r/20160822223539.29880.96739.stgit@tlendack-t1.amdoffice.net > > The last paragraph alludes to a certain transparent mode where you're > already encrypted and only certain pieces like EFI is not encrypted. I > think the aim is to have the transparent mode be the default one, which > makes most sense anyway. There is a new Transparent SME mode that is now part of the overall SME support, but I'm not alluding to that in the documentation at all. In TSME mode, everything that goes through the memory controller would be encrypted and that would include EFI data, etc. TSME would be enabled through a BIOS option, thus allowing legacy OSes to benefit. > > The EFI regions are unencrypted for obvious reasons and you need to > access them as such. > >> Because the firmware volume is written to high memory in encrypted >> form, and because the PEI phase runs in 32-bit mode, the firmware >> code will be encrypted; on the other hand, data that is placed in low >> memory for the kernel can be unencrypted, thus limiting differences >> between SME and SEV. > > When you run fully encrypted, you still need to access EFI tables in the > clear. That's why I'm confused about this patch here. This patch assumes that the EFI regions of a guest would be encrypted. Thanks, Tom >