From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761408AbdJQLzH (ORCPT ); Tue, 17 Oct 2017 07:55:07 -0400 Received: from mail-dm3nam03on0060.outbound.protection.outlook.com ([104.47.41.60]:64800 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753444AbdJQLzF (ORCPT ); Tue, 17 Oct 2017 07:55:05 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Cc: brijesh.singh@amd.com, x86@kernel.org, Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Tom Lendacky , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Subject: Re: [Part1 PATCH v6 16/17] X86/KVM: Decrypt shared per-cpu variables when SEV is active To: Borislav Petkov References: <20171016153423.2980-1-brijesh.singh@amd.com> <20171016153423.2980-17-brijesh.singh@amd.com> <20171016222416.x26tp222x2ox3tkz@pd.tnic> <20171017082020.ctgjuo4xcvsaitdf@pd.tnic> From: Brijesh Singh Message-ID: <57ef6c36-1708-56f2-b0ac-ea2267f6aa9d@amd.com> Date: Tue, 17 Oct 2017 06:54:52 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20171017082020.ctgjuo4xcvsaitdf@pd.tnic> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [107.1.192.66] X-ClientProxiedBy: MWHPR0201CA0024.namprd02.prod.outlook.com (2603:10b6:301:74::37) To DM2PR12MB0153.namprd12.prod.outlook.com (2a01:111:e400:50ce::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 725c3554-0e3f-424c-80a5-08d51555e70d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:DM2PR12MB0153; X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0153;3:U9skgxWJeg+1DuarI237U6xYdzhTCJqDUv8DYGjpEoS+XSN48DeOoNmYau/Sle1NV/ej8PvTaLTg3igATw7aYpFlePRWIxU85jo2kOQ/fvPxJMTWmHkbjBQCJ1zgNSjvgKyx5hPlkKdH81gCp5XcHGdhVLroq1p6b/k2Rlvi5tLDAuJ28MFLzpXlu6s325pSLpcXdaLT6CkAUdVtLGR3j/ruvC6mIP8sPzlsTLaw58dsRYcEbc2ptg6DUMSqY3e1;25:b1quEfGtpGIpHDHvDgsxxa5rQ4v4lAoAFWaeHB2nOVu9FwU0yRclMLlTrEwT9KrJN89jFMqKRi/26Di8TVaJn15NxSWUrkfonCUBc7ONzeMhp5oiKZ0ouL9PB3LIAALoJJedeC8/EpwSKqr7gPmo5Ow1mfYHPPN9OcMdVzpcR1bC7RREgFOLWVmltI8Xu6y2sI6rQD0vycZhbplpaZdqRYPMOWN4nSnDSHnInKMmoeoRAoVwfmQ45l6JbY0Vih+QdZGI+ASjGJzNiRljKRcLJr3ZGUNQ60+wAuynknx66xf72PU5GoiTI6pftM8bBFv1hhwxlAERYHrYOGt2eYIc9dKMwBSuPlKHdMkIrcuV4s8=;31:vXPSPsN8NdelIZVpFRt60ousZrZ6LBQFIk9FuAFSgb4xlCvBg+viZpc2tSxSnoZfqQS1NfqbNFO9Vyy0EciZ/wJ/D/yFfXKBuZ6NRPVPD0QMFnyAyr6HttkDRwh+VhUYi6F7slrasLYwcYkSPxxQW3uAnpElEvPUCdNIx4y959tSAows+Hvct0pyy2J7i8MbSGcii7fx/xREYMYjfgEohqXB0SrwSHX5Z1wJtqWZKdU= X-MS-TrafficTypeDiagnostic: DM2PR12MB0153: X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0153;20:MMnk7lZaDFuFTuai4O4PxSHAfgQjSc9GgJmVLl6KS69fPMSTIC2pLzuJke6/mUPe0KtK4GBTml8F7/R0pmu2v1CG2B2cumKelJ37WxtYWUmemcOwXUlEHpskIddkAP70jpjlnjgWReQjL5nmSuPqdTH9iu02wjKCk1xa1FfRywUpzU+GEqC2HjW4ndZyCxbUFqV07hRTjei5RWePn7iPhoJMZQVhNSf0ngzhud+HyHoPZQGX67T9eV2CMHR8d3H5PlgbCB1gZUZriGQPURfLtQa14viHWoAQXUiXR7/EqGicI3nvliJOoI9Z3IKMhJYRI1V85HGrVmwHMtF9bGO/Pfwx3F+QLBztSv24jlvW2pN6PQS5mYLIG2q1ZMlJGAtJB+mdHAA39wh1qn7SyLeehoo75C0VqyZiqGlhWeuI2l9e/IKIFxVEugbG/Lh8PmAlaZTbEGuZBAvnDH5whx3lqDLMp2fbfw+kdMJ4GQ0sOTBKFnWePbJ9y6bnoQWlcUWB;4:XRBPFh6fanLQs7MfSY5t4xYYnF4d0UoyCmlQWaFgRHAxLxd6/iqyf2B3lZUBVvc0bJZx+PKJiG/9kvEpY3/2iD4WOuQhI6GQx9nmL+e98LR0fTFqg8P0EPWTsgxEavjd5xtF0iiONeObBgzHC8fWaobQFytiUZDpvewQx42fx6UtvkYsQGxHPLU8JQA1XWQgJXQ6GvOWuwyn70C5+1t78LUeQc0tPCvI673+u9lFzY9JWuvVIsCzpm0e0sQUQXvg X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123564025)(20161123562025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM2PR12MB0153;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM2PR12MB0153; X-Forefront-PRVS: 04631F8F77 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(376002)(346002)(39860400002)(199003)(377454003)(24454002)(189002)(25786009)(6916009)(6116002)(53936002)(97736004)(93886005)(478600001)(3846002)(36756003)(83506001)(4326008)(58126008)(68736007)(6246003)(16526018)(2906002)(229853002)(2950100002)(65826007)(54906003)(5660300001)(189998001)(316002)(54356999)(50986999)(23676002)(76176999)(7736002)(101416001)(305945005)(53546010)(6486002)(6506006)(64126003)(6512007)(31696002)(86362001)(66066001)(65956001)(6666003)(106356001)(65806001)(105586002)(230700001)(47776003)(33646002)(50466002)(31686004)(8676002)(8936002)(81166006)(81156014);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR12MB0153;H:Brijeshs-MacBook-Pro.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjEyTUIwMTUzOzIzOlJwbytOWEM0QTFQMHF1dDA2dlNQMnlta0xR?= =?utf-8?B?RHRvRGtoWHhXMXp4SGRyZE5LUnpPRlVNSXI0MHVTWmlZeCs3d2xKRUREQ1F3?= =?utf-8?B?eXNSRFJMa0FMMkM4bnEzcVFybG5rL1FkZWxxMm51eGZZa0tWQ0I2WUdkZENP?= =?utf-8?B?ZmZBbUk5OThRdkR6c3RiWVdHM05BcWFZRVdFb3MzTWRoZFhXWkxDYk1pN0s1?= =?utf-8?B?emliS2xIbUtjZzJEQXlZZlBMaGJtdTdIdXdiZmZWNW0ycys0Q21iVVFlQ05X?= =?utf-8?B?Qjd2S01XMXFRUUVHNHJzNUR6cFo1aXdrWjI2ZWlFblJrOUFaT1FjUDJ3NGV0?= =?utf-8?B?ZXJ0SVJxNVpETWZSME9tRXl0NjJNbi92TGI5QzFBWWxBQm4yOXVxeFlHVmdQ?= =?utf-8?B?bTVjM1ZqOFFQbHloeDB1UUFwUmpCU3FtQTBNbHkwRHpvUzhJaU96OGtlcUZa?= =?utf-8?B?WEw3cFF6eGE1RWZTSFFDNnNNWFY0cndpcE9MYVh4R3E0bk84VDJocWU3bFRj?= =?utf-8?B?VUxwMzQ3SlNyaG9VTzBaZWwyNVhoVkxsZUZSWXVzK3NLQ1dyMVZubU9yb1Mz?= =?utf-8?B?bmxYZDJJVlBlUTMvVDhZUDNtN29tM01yKzVaRkJkOW5wSTVWOTN6eDdzM3dz?= =?utf-8?B?anNZYVJnZlNFcnYzMy9ISzJVcEtLcEJLUmxvNkZCeTBadERhTFh1dlVma2ha?= =?utf-8?B?WTZESjYxZXo4NmZMbTdGYk9MNEcwYm10b29IVUlGRzMyUWpCRnFITjViOGZt?= =?utf-8?B?OElPa3BHWDNJUTUrbHNFM0VjdVVGRlpreVk5bkZiMVpPUzM5dzRFc2l2L0dE?= =?utf-8?B?YVZ0ekNRRVVSenlZeGZhY1hBS1U3Wm1ON0tKbTM3VWRwbU9FcG9tdmpKNE9I?= =?utf-8?B?eCtTVmFaOW85cHNrODlUUFJESUlRVDhPMEtrVDlVdFZUQUpybGhEQ1NRd3Mv?= =?utf-8?B?QnRwazAvQngxRExCOWVzeUM0SkpXOE5ZYTVxRHBvZTBwZGdMT2grZVB1dnNq?= =?utf-8?B?U3NkbnlqRk1Mc29zWGRHanpJWXZYSm5xd3NNQWVtL1pkWDEyd1pKZWhrM1NU?= =?utf-8?B?K3BoYWpQalZOZm4yU3lSQ1U0cEYza1d0RnJjZjFJanhUU29TQndlblJxZ2o4?= =?utf-8?B?YkNHaFB4UXNiY3RQcElBSTY5ZnBRbEtSOEkvR3dDU3c0RERaRkFFaEJBMUR5?= =?utf-8?B?NG5VNE10NGJDaTlUckVFVUZTR0s1RVlCQnBHbEZhNEFWVmtPY3gyZitjZmpi?= =?utf-8?B?aVY3UTUyQzl0dXBJbENieHdDTHgwZ0Urb1k1K0J4Q2dXbWM2V0wxVHFPVG5J?= =?utf-8?B?WDZJWkNRcFhQNUVRUWRyVDcwdi9ZcHNGTkxOMHlZUXFDOWJ2VUM4Nkh0VGhp?= =?utf-8?B?SlZQVFl1M0NEeVBDZUZmbldGZ1FHZ3QzTTVwQVpaMUZSMlhwYjF6Q3duZHdL?= =?utf-8?B?dnRiOWd0ODhTdkhSSFVOdmRhcnJBWlBXenVkRmw1eU4yem9lY1I0bmp2bnRM?= =?utf-8?B?YmxHQkdoZUlmUmM0ak5kOTg5aFBvNTJqbmN2RFU5L29JWjN0TWFHL25CR2Za?= =?utf-8?B?MzdXZ1poK0tpM2dZVlNEU2lZK1FqUnZ0cU9MbTA2bHFmekFqc1dVeFVQQTZw?= =?utf-8?B?RzI3NTRIYzZsTWlPRnhJakVGQkZ4Qk5MaGFHZms2dlpLQ3QwV0RMNmU5b3hy?= =?utf-8?B?ZG1WQWZwYjFkRkhKUEx6RUJ0U0xKdDgwY3UxRWRvMnFmNGJ6ZWdtZGpaK0JG?= =?utf-8?B?N3cvc01NdTQwR2Y5WjRNMGY3Zlc4aE5yQlhubXlVM0ZLMkhxaS9LdHRObWpN?= =?utf-8?B?SDFEYjBxYmlyNGZlQmdkTjJjZS96K0FBN0ZCZDEvMVY2VkZxQ3pheVRRWjVJ?= =?utf-8?Q?bD87TpyriUY=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0153;6:LHqfMXxCj9q4DjMQMoV3MONcPIE+RAUulcl3kNIidggVGf7Z3InmAOzyWC8Vz0tGSeWAF/AgyTjn+Wl4WwkCINiBeEL+YBgI4/OoGLInVLFgB4kJfrX+S9iiNIipqVTH7i4Uiiky58ak8qMP4kf9+cBe63Et+xX+y2SAcW4AAQnz3wRaZ/HS16MP8p+qoRZ2bZC0MmekZzcaYiTdIZx99TJhH2qvW/v/xT6yes9B57B1BZPsj3reGgBgEKElu1aM+vnH0RuN36wGcn7bKXZIbJj7KW64s1FE6ZgarE4o7tyepvdeB5vDzprlnl4ZJYNri1APQaj6OPplNdioQRMpqQ==;5:T+56/Xl3mTiQ0XOf0WwY+rlLNp+HDcdjaZyyKM5Yd6ZWcPeZUBUqfZD0eIJh5QY7TATq3WCxChLWGwZ9e6R4URjbjDPlqlH5qim/ip1phAjGW4NanqKge93rfqkSDUULd+hUg2g+/zFa9I/5OfWN0Q==;24:dCBI7RiwhlnHUuKmp/HLCJjKYFViCpmZTK1ehGNLxyoKH4GS3tflf5SsvRYqn99NRwbW++uRaAsf/vEZD5b0J/viyjddvm89K5uMroM+IMQ=;7:BQTYgWQusbRSal/AJtokB2aCxJxYrsPFqoIK3lmK1lu/ggzartNDSTbMxCXNCfG6N2B//N2yNtf0CgDY2l84Kn4BrMfn5/zis1e5ImKgLho5nF1vH8lKBaSHwJwaG61moHPJCNUXCkmRXwwPM5febo/Ut63gHo5NrahC0Kn41RWRfl/EY1NAA6EgU64htR8wLeKpVsN/z7oW1MyEaMjYGRuKr8yfHYMOFCI5DndlqO0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0153;20:tYqCeb3HgBdsM5jLHWSNXKQQr/ci8iFUYrU42iQMcq0RobhzTxijg1bSIXwLAeguOTkB0hDRy4RZeePTc+vyskHqgyVDHjFPEl0WoV+YtFKkvOgsJ78r2rc4tKkZrGPaTEM3cmKh0k2xq2FgCf2G/N14ywMGX698zxhTle2PsMxJFS0qjt/JfATjGiiOTWaVeV8hof3nPJWvA+KvAncLVd2WYHGqNbtwQ/+BDI1abrVMsvt84F4PSP61Gxm+yAss X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2017 11:55:02.0149 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0153 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/17/17 3:20 AM, Borislav Petkov wrote: > On Mon, Oct 16, 2017 at 08:43:15PM -0500, Brijesh Singh wrote: >> Actually, I worked to enable the kvmclock support before the >> kvm-stealtime, eoi and apf_reason. The kvmclock uses memblock_alloc() to >> allocate the shared memory and since the memblock_alloc() returns the >> physical address hence I used the same input type as a argument to the >> early_set_memory_decrypted(). If you want me to change the input to >> accept the virtual address then I have no issue doing so. But the >> changes need to propagated to kvmclock (i.e PATCH 17/17) to use __va(). > And? You already convert addresses you've gotten from memblock with > __va there. > >> Please let me know if you want me to pass the virtual address. > Yes please. The kernel generally handles virtual addresses and the > physical addresses you get from memblock, you simply convert once and > hand in for decryption. Will do. Do you want me to send v7 with that addressed. Because this require changes in 3 patches (PATCH 14, 16, 17) > >> IIRC, we tried clearing C bit in kvm_guest_init() but since the >> kvm_guest_init() is called before setup_per_cpu_areas() hence >> per_cpu_ptr(var, cpu_id) was not able to get another processors copy of >> the variable. > But you are still calling it in kvm_guest_init(). So that second call > can be removed and you can call it only in kvm_smp_prepare_boot_cpu() ? > The second call is for UP cases. The kvm_smp_prepapre_boot_cpu() is called only when CONFIG_SMP is enabled. Am I missing something ?