From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751956AbdJXSlj (ORCPT ); Tue, 24 Oct 2017 14:41:39 -0400 Received: from mail-by2nam01on0046.outbound.protection.outlook.com ([104.47.34.46]:33472 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751407AbdJXSld (ORCPT ); Tue, 24 Oct 2017 14:41:33 -0400 Subject: Re: [Part2 PATCH v6 15/38] crypto: ccp: Implement SEV_PLATFORM_STATUS ioctl command To: Brijesh Singh , kvm@vger.kernel.org Cc: bp@alien8.de, Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Borislav Petkov , Herbert Xu , Tom Lendacky , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org References: <20171020023413.122280-1-brijesh.singh@amd.com> <20171020023413.122280-16-brijesh.singh@amd.com> From: Gary R Hook Message-ID: Date: Tue, 24 Oct 2017 13:41:26 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171020023413.122280-16-brijesh.singh@amd.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR08CA0055.namprd08.prod.outlook.com (10.172.144.17) To MWHPR12MB1326.namprd12.prod.outlook.com (10.169.205.139) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a5bcf181-08b0-4b2e-c85e-08d51b0ed842 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603231);SRVR:MWHPR12MB1326; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1326;3:wP8TT8vFo0y/4HVtgToi1pN3E5K/Phmonu6AFbEqwtjgXapHDxErwF1K7rm/xSFIinE9VIUt8RULD593KcG6yQyn25l7HM23RjWxhCa2xbShxj+j4d7FCs++wRLs1tfFnbDmSgTvN7auMe0Km0AP5SIjBQMc9o6TAQGF3SC4NTyePM7O8NsuIyzMQkBkl256YZ9+lOZlpTnskLYURwLLRk5nyuiLRfXlhrmyUIlqvMLS3ZYUnYLitP3VTRoOwLaY;25:WXmdwugBDfZa4CPN/dJFkiLXFLezCJ8yWkT29PpjyVpvDWNI3+h+Tq1dYdSlWFzp9Hipezn91RqUGaaTCwh8I/05Qm0bIrlecsYlKrBjT7cGF/0Y726091tFsQgNBRtQiEVfLs8uoEqwtY6dlBwNcFvK8a+XZVVAbtgcQnVKegpkuy0S1F45aesIx0QfHMikWG0zsCWq6wsHprTzePx+FrUZwHBSDLNjQPCAZb/oRQdG7gls9/qSJ/XeDppeNWygoKAO/FDnAYxcvcBuIRa73mDiA043ebLzyAPjfg6yTXict2YvEnzLyenbdo9hUcvJ2KeNNcmu1uReORLB0Hak3w==;31:G/msEo+ahyhwsOdd54bft1wEBPOQ5j6NLLt+s3NhLDwpBJJPU8+cw6xgQpsinJZV+xMnakz+oU5VMl7tPsUL1q4mrc7dmsebFMiTu9tUUIpWlGTRuMDOznUdK9gZKLeQcRpFjLpP/mZMMmqPC1qInQI4sWcNk972XtlPV0dpJ1YncrwdEUdDakqL/6t7gG9v1KeTYK6K6aqY/fPGc6YVF4ppM9eJ/i/p/bS2k07DTcg= X-MS-TrafficTypeDiagnostic: MWHPR12MB1326: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Gary.Hook@amd.com; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1326;20:C9mIZN8OoDZr/M+N7iWeNKi9qaIsgRrIbou9xJacNXEqoFg0Ayo1zAJbFVY5YRmGaV07uNTlJG1IGQhqRa8mEz3Cu1lUukQ2vQzVRG3aplNAjsvo5D0v6T6EikQ2ZjYzvvNJGIH/ubTWu7A18fWzauY7gzUMXsBQnfB9O6t8MA4xbDd8HyZIZBusTo+Ann3BkAbI9cQDuRE2Wxl+RYCkMPCcNKGbNoI/QW7ZhqJrnhandk4mv7g8eTt6Uaql6TZhsBQIrJBL6jTIuq/jpl/PAUscTfONoadRPoOQ5FCvxnpt6CHFXaGb/nj+6wZXWuHRAlzYQxjKnAO3KkC8ma4eojn6/Ye91i22dmATgrqOfoDAETepfpjZ6x4OQeT2d3DUbAEPAwznNKcPnT/WsH6j1lC+sK+Jg4jpnLxAuP5mRGUvi4VYmRsfRtkFzl+Dv6CC6Djms4rCmLJU/4bcoCLDXAHxJwhGD1JiIOWc1jaW0owjcN6x0n0dI5YoAMlZAowT;4:Kgzobl1O6EKe61WaAyDha3j1JO186RmSLo4qgD0cKcmBxAHTopUe7eIZKVcpB6tlwo/w4QBeULSRvnQVnVWqJ+yBMWrrD/HdohNnUCNu773rnf9FFmFNwHjLZ5kcr2zhLfkyQhAYpXe7XsyoB6jw1SwA4sVw/QDfvF5k1gyXQCI5JAFcYVOaSrU+HOS2aqoxRVKXFqe74Fr8Pw7TY4wh4Xj2y2PwfT1fePqg4GAJF46p48yQrDGD4OCYeeE1Mzz31O27Qj45HwikwTJUr69CbqJTvE7iSjeomPa+fLb8oisRAohp7YipyvZgVuwAPnb6TruZfNZnFXLcGMPx9LK4IQ== X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); 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)(100000703101)(100105400095)(3231020)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123562025)(20161123558100)(20161123560025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR12MB1326;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR12MB1326; X-Forefront-PRVS: 047001DADA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(39860400002)(376002)(346002)(189002)(24454002)(199003)(45074003)(33646002)(6666003)(81156014)(81166006)(5660300001)(8676002)(2950100002)(316002)(2870700001)(6116002)(54906003)(16526018)(64126003)(58126008)(36756003)(106356001)(54356999)(83506002)(16576012)(105586002)(478600001)(4326008)(31686004)(72206003)(101416001)(8936002)(76176999)(50986999)(189998001)(50466002)(23676002)(66066001)(7736002)(65826007)(6246003)(53546010)(53936002)(25786009)(86362001)(6486002)(305945005)(90366009)(77096006)(2906002)(65806001)(229853002)(65956001)(68736007)(47776003)(31696002)(3846002)(97736004);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1326;H:[10.236.19.127];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMzI2OzIzOjA0amxkZytiMWtMNTVLenRWL3k5MkJ5T1BJ?= =?utf-8?B?ajJJczJKZlBWZ2ZyamEvWW5YOWJaWjdZQ2Q3VDhPVnlURmhndEJ1VHN0RDFy?= =?utf-8?B?OHlhamdqTUZUNnNNNFRTamkvc2g2d3p5NVBNb25zSmdpT2RIVGhnaitIMDZY?= =?utf-8?B?UGZuK28wNzZhTjJFSGlVbFZMWUFybm5wZXNiRXNwMmJ0RWRxSWQ2ODVCYlhi?= =?utf-8?B?cWVEOG8rdnZKeFlHSGRzU3JJMllNdjJsamhLazIvYysxOGpGMHFiTkdNdE1F?= =?utf-8?B?L3NGUkJYNjZ2bDlyN1lKRXVOOStiZWszdlE0c1ZhcCsycVVQTUdyUWdRSUdE?= =?utf-8?B?eDhySUl2MTlLNUNlWHAvb2Zvc0kvdS9wRENTenR4MnE2Sm53WTBMT2dXenBT?= =?utf-8?B?UGE2Mll0am9ORDdHNnViNHBCbm9vbGJiMTNPT011QUhRRkRBME5UVW9TQ09p?= =?utf-8?B?ZnErbG5BNDlVQ0NaYjU4alZLVEI2K0hBb2xDcUtlbE1Ib3hZQXFIMHhOdG1v?= =?utf-8?B?Wnd5ZUJiMWNreHAzUFMrV0NFa240ckREVFJyOGRzdWVURzAwa1NseHBDeFl4?= =?utf-8?B?Y3lnVVFSc1RXTHM1ZEFOdkh1amQ0alBHeUhiMHJDYjZMVEVHRFBwYTVxWUZl?= =?utf-8?B?Kzlra3MzQ3c2OUFuYk9RTGJiejNUbHdwUmlnRndRWnpyWXhkQkY1WFAveFVY?= =?utf-8?B?MjQ5ZHhLams4LzhWNlpYczF0OHVNU3dEc0xwMmhhWk1tdlVTRFhFMzZYVVhx?= =?utf-8?B?RVlCb3NFOWlmSlZRUjlpSjBYM3BkdXBTM01aT1JDZGlRcmhqUk9zRjgxdENj?= =?utf-8?B?cjgwSlVSdUFOMk5lQ1dwa1ltcDRHQzM4STBuNFhJaVhBNGRkb0M5V1FyWnN5?= =?utf-8?B?R2RFUXAwV1BwUzM4RnF2MVBUZUR6Z1R3cmYvR2kyUVYxQzVoWldNWXYvVmFx?= =?utf-8?B?cEwxMjlUalNzRmJtM3BxUmxLbkY2Ums2VFgvWXhUbHhLVjFxNTc3Tll2ZnVW?= =?utf-8?B?MXA0K0grTi8yYk1NQXlmN0U3M0dBNGJBeTU2djZhZFVQZUZ2dkNkUEpEWEdY?= =?utf-8?B?VitwMHlDYUUrdGhMdE4xaHZNaUlDUFdoTjJrNG1POFdLTUtiZ2RCYjRlUzBX?= =?utf-8?B?UWxkM2swc1h3NExNK1QxRnNyckN2dlhCWGdlczdhNjVDQXI0b2dzWXNEbTZu?= =?utf-8?B?UjM4M3Nka1BHbXJGSngzZy94QVVrdnlDNkcvZk1wbDRIekxhYm5YcTJwYWUx?= =?utf-8?B?WHVmZWhKS3FmRjFKaHlxVXRZT0JFTFdIS3pMcThNR3BzbGpCZFFMcjVnbnpW?= =?utf-8?B?SzI4NE5ld3NEdUdQZ3N3NHVYZzJPZTBBNUE4T252ZDVVZDE3YXdic29pazN6?= =?utf-8?B?b1hlWGNad3pnazhSQ0VESnZyVEU5aHFxaVc4Ymgzb1EzbDhvYVplSHYyZFJr?= =?utf-8?B?TExiUGVGdGU4MkRYdGJtazI3S2VQcjkrdS9qZ0ZpS3I5cWZsVzJwdWtQVWF3?= =?utf-8?B?clRJSE44SjhoRk1FcWtRTnRMYWdRREkwNDU1WnIwWG9wTURRYk54TmdtQ3Yr?= =?utf-8?B?U1RsdU15dWlpS3VpbFJWMUpGY2dWRXdUMDR4TVgwbnNUYWVEVndCYW5XR1pB?= =?utf-8?B?STNOUW9oV25SSTlwRjZIalQ1eS9ORmt2QjZMTnRwa1lDZGxYd3lHTmRpZ1J4?= =?utf-8?B?dHJCdVQvbU13MkhrYmkxa0Y3YzVQRmJVWVN3OS9TbDVvNnNpVXFUZ1V4dHNC?= =?utf-8?B?elRtRFNOMTBVc1FOendTdTkyZGI1SndhT2pnRWN2QlgzWE12ZzJTRWQ0Sklo?= =?utf-8?B?SmxrZklFYXBaajZoWjNHTUp6UFExWDFPZU5iZlY2UnAyNmNySko2ZFUwbDhT?= =?utf-8?Q?S5feslICJ9sZ58tqScbM7oZJGrsMJdBm?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1326;6:bvwpU/3fcCiYpCnilv0wQ/aRSxkOMul+YjK1bV2Vd+A6cFRNYA8kUPwr7o4obcl9WVfCa3VpyQmU3wBnwpGld+7KKOlDPQ2N5xOfkqXd95CrtztzoIr1PKyCvbggdoCp4IyWUy3/9th3EbRUjjvY2aRvc1+tPresjjDEtr6OQr3l1j+Ysp5rbmKYeouqlrbfKhlOjvj5sHGttDjNZ1NBzNk16C+YZJKeaHLXhzi3xvbSkIMrq9gaCJpq1hxXfzZjz3OtibOsVCWcSYE3l09zTdY6gLc4lzfU64ft4W4ZrKgxlEM2incWXplqmC/HbWdgiCkOnkAu296d7CRKoeLQKg==;5:zG8F0O98QnsgmN4rLgriS6abQT3BZwvipwE3ZLCf+Gm3bBSEjPA+GpKNAlKWjnt4/vMSEpuiZoSsmy6IbrWM7nwE23KkNKDRbGBIaOa7lQqFMuK3hl5FnfkNzULe9p4Nj0rghXV2nBAKELpZj1drBw==;24:FQgzi9j/AUji0MTWt+50e8SwaD95Lb+WdpuirAFYlw5P0bXOEQHvNI8q/DpVBHCuQkNNV25uTC8nIgTz6yF7FMmu/pnpnm0/ANlIWeCnVKw=;7:WyVSLYRFN+ANy93cPm+5Fy9kOQhNYmcQBZCPR8/CqkjJsXlBA4A+wXOTI7DNC1mze2S09H4qLYASuwjZ/Luh6b9sGpCqWXFBQ1ZoBFE/IBM3AheYDVYznfEgTCfpWJLCvOvQPKp3tSNCxcwEDX6lTdPPZ5I49It0ttuyv5ox0hP2SFHC//PPddewYOZwvKVoR4QzpbwvrLVz5gWf187h9DzNPF1XgLl8Iyzzhjx8CAM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1326;20:3nhcC5F6TISzn2alSVCAcxooEwCuo98PoPE6B3HEIEqiSXiTUJTCAZVJAJkvFFGCXO1sIKSo55vidtq4Q0EWZsACeNUvT7TuvIISnZs2NvAhaqyHNwtF9o4QH3IC/WzsE7AEBtQeGH5aYNVHF1QE6gqGem9BuCek5EBSLr/MaKItO/B2hHP/i8Gx3qdGkjMHW6qapwC0TR/JFYdoTLXpIym+ViydJvoAf5KiyC+pCEGvxcyLLgqYCgzc/qkn9d1l X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2017 18:41:30.0477 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a5bcf181-08b0-4b2e-c85e-08d51b0ed842 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1326 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/19/2017 09:33 PM, Brijesh Singh wrote: > The SEV_PLATFORM_STATUS command can be used by the platform owner to > get the current status of the platform. The command is defined in > SEV spec section 5.5. > > Cc: Paolo Bonzini > Cc: "Radim Krčmář" > Cc: Borislav Petkov > Cc: Herbert Xu > Cc: Gary Hook > Cc: Tom Lendacky > Cc: linux-crypto@vger.kernel.org > Cc: kvm@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Improvements-by: Borislav Petkov > Signed-off-by: Brijesh Singh Acked-by: Gary R Hook > --- > drivers/crypto/ccp/psp-dev.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c > index 99f3761206da..5c921b36bc23 100644 > --- a/drivers/crypto/ccp/psp-dev.c > +++ b/drivers/crypto/ccp/psp-dev.c > @@ -174,6 +174,27 @@ static int sev_do_cmd(int cmd, void *data, int *psp_ret) > return ret; > } > > +static int sev_ioctl_do_platform_status(struct sev_issue_cmd *argp) > +{ > + struct sev_user_data_status *data; > + int ret; > + > + data = kzalloc(sizeof(*data), GFP_KERNEL); > + if (!data) > + return -ENOMEM; > + > + ret = sev_do_cmd(SEV_CMD_PLATFORM_STATUS, data, &argp->error); > + if (ret) > + goto e_free; > + > + if (copy_to_user((void __user *)argp->data, data, sizeof(*data))) > + ret = -EFAULT; > + > +e_free: > + kfree(data); > + return ret; > +} > + > static long sev_ioctl(struct file *file, unsigned int ioctl, unsigned long arg) > { > void __user *argp = (void __user *)arg; > @@ -194,6 +215,9 @@ static long sev_ioctl(struct file *file, unsigned int ioctl, unsigned long arg) > case SEV_FACTORY_RESET: > ret = sev_do_cmd(SEV_CMD_FACTORY_RESET, 0, &input.error); > break; > + case SEV_PLATFORM_STATUS: > + ret = sev_ioctl_do_platform_status(&input); > + break; > default: > ret = -EINVAL; > goto out; >