From patchwork Mon Nov 6 18:11:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10044111 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9D16A60247 for ; Mon, 6 Nov 2017 18:23:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8F28829E00 for ; Mon, 6 Nov 2017 18:23:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 83DB829F0C; Mon, 6 Nov 2017 18:23:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2356129E00 for ; Mon, 6 Nov 2017 18:23:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933085AbdKFSWc (ORCPT ); Mon, 6 Nov 2017 13:22:32 -0500 Received: from mail-by2nam03on0078.outbound.protection.outlook.com ([104.47.42.78]:49424 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932671AbdKFSM0 (ORCPT ); Mon, 6 Nov 2017 13:12:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=4+PiGyZYcgYU+FOcutFaCkfDAH0N1aykpx2Grvbf9rw=; b=0JpJ9jwMAt/AHhVFoL/0ZZou8+BsH0CKfi+RW/YtGoIkpfcxu0EcDRs2zR483+XhtQ5iHiq47YYuKIuNqG0FQQvCkUNemniKA0suRAG0U7+4wQjqtdzeM9+1vqEYzzDem2lM+i+gZMbDU5hW4QohUyWDqWDnqGbaE4mINa3ryVo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by SN1PR12MB0159.namprd12.prod.outlook.com (10.162.3.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.13; Mon, 6 Nov 2017 18:12:13 +0000 From: Brijesh Singh To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: bp@alien8.de, Brijesh Singh , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Borislav Petkov , Herbert Xu , Gary Hook , Tom Lendacky , linux-crypto@vger.kernel.org Subject: [Part2 PATCH v8 15/38] crypto: ccp: Implement SEV_PLATFORM_STATUS ioctl command Date: Mon, 6 Nov 2017 12:11:07 -0600 Message-Id: <20171106181130.68491-16-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171106181130.68491-1-brijesh.singh@amd.com> References: <20171106181130.68491-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR10CA0031.namprd10.prod.outlook.com (10.175.102.145) To SN1PR12MB0159.namprd12.prod.outlook.com (10.162.3.146) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e08b1f91-058e-41db-d08f-08d52541e8c2 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603199); SRVR:SN1PR12MB0159; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 3:MaK8lS6OIDFMzTquksQjPT2g/hOm7qUxI01FENQSg0Tc+7M0dFWZyDur2EjafsiB1W1BidWITfp1WY6DBIuWbgFCDQRkGWSI8yzh63nuXp86pkOJf7ppYQ/ekC+wt7LukCGDhHYbc1dFgaRrL2VWlPwaPiPLvu1ve4jb0MzBwCEEEF4GDAQI5UY8Sw5zV1dLefkaMWS1mlV2GEzsHQKiolblv95cwrtYSGPlEcHxU0iqMVyEp1+diEjQUeSyOu2x; 25:P8nrwTPJc/0sKyQlHt9BjHETNyQFPy8rFrUKa1pkD7ksrMJ/fjHYyl+B2oktthOZ1GQeaPR/B7EAw7920lhpFaISeROPx1dipk2pRWFM7ebZ7FaIdMaY6ZHY8tdTAZOhwmEVynXdpwnTrTcWWy1j5pb5ZU3lcf8oKS70fKASRTNjUHmliC1jSeAmhYi/YLhLMK0Tt6wlea/W8MN8JAYRvckHRQfkSb2WsUcSTf6vHkeWItBlqReZsUb/EiQqKGZYxZ4M5EreMUSZ4EED85dHfBnFwjcu9IIvn2qkfuaVMKFw0EFqrRGFFxhEOsdRJ/9eAy/HlKA4kX6uJ4rpClgvkQ==; 31:DpbKE/VAJ9SxJyJJoy2ltAciqxjNB9NT4epHlfV0tea0Dr63jde4G7WqTQIfk0NPkOYMvCuPS+AB/wgnpJFUW+Xe0AQI5EH4mjHtq8XWnG11QvrJ6mK4g5brRnRA4sZ87jc+ThTeHgVIpexx/OUM940T1cU8SJfuvxiWJcoo2yWYM/n2lOTugiARMgs4qhNNX1zZ7/mjIocRZZ9yR83/eNayJKYn7VZj0ND7l5WmULU= X-MS-TrafficTypeDiagnostic: SN1PR12MB0159: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 20:Aqb79RVJZ1EKF6lfwTtlveFinArnlBHItnp8b+FY8zr7uVM6rvU5/w+Ch6n6IqhGmlslg9teMeNBeGYTZ1lUKR19OzIaq2RJZpM4pgrWhPayXwVearDszfghhpxiAP2deC19MNwT1bT0QzrioQ+u23x4185T6mnmtqlWGPPgiM+hjClaUoUCMxbMFBX4/9dw+1M5DgwinAJCxnVk/K2JMoaH9Gw67jg4haeJ9BVDQpz3ghTyQuOuSHif4V66kNNhyTbkT9SOB829pKfbCx+k3hrQT+ZJWBkP3SqVXcmD51DKOCvbitu6xHjTpHYBGwqYitB3B5UKGrI0I0hHVjszS72jUPPz4CpCapeoy3dRw1W+N5OfQx0ZDG7jWUyfCyu93Lc4oaHBa8B7oBrpCtQbgvm2VeIqqdSNDf6tuwQXvuoXrnN2mk7sg6FQZv9c2jFW3LGcQiZxx2k/wdL82HDPy05VZlb6pDJo3SrCWikCoNsfj3qWTvytnKvgcaFiVEHZ; 4:F8wN3Z1sayGhCDfJ/odlocZx4C/42SI1uQwgcS8x7xgOl3OFJeJwLWfeS3gNPpIrNrJ2/DRAMgIvFtJyYXbfMfxSpAy9Vk3D4im3jvGdN0lbpvv+8wxAmNtgw2HePFZdjYhwrIB2zu2qT3i9FyFAXIEDmwslaXp6HodrqCLr2D2ldNuj3yrby1O+bhqrnjLo7ChY/QpU4K2UgCJqYRvAPlSCodgMLeHiK11IXZuZIAG2Kh7mj1iCIyoGXl1urkWg5MXVRcCazyudqJwjcuNcwmMkLpaXaMI778d5w/ehDQaFab3yewkOBzBHaoQEZO5nZkG0gqzK94hX0/bQdh4l6g== 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)(8121501046)(5005006)(3231021)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR12MB0159; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR12MB0159; X-Forefront-PRVS: 048396AFA0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(189002)(199003)(45074003)(68736007)(97736004)(4326008)(316002)(16526018)(54906003)(7736002)(8936002)(2906002)(81166006)(81156014)(25786009)(53936002)(8676002)(2870700001)(1076002)(6116002)(23676003)(50226002)(189998001)(305945005)(86362001)(3846002)(50466002)(33646002)(66066001)(36756003)(53416004)(47776003)(5660300001)(76176999)(478600001)(6486002)(105586002)(50986999)(2950100002)(101416001)(106356001)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0159; H:wsp141597wss.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU5OzIzOlV5dHk5ZHRieE4ySmR4c3VCc3BBNGc3Y2Fv?= =?utf-8?B?TXRjdS9lVjFaeWtWeVVic0FNVmNWRFF0UjJHM01CM0lHL0lkREttZURnYi8z?= =?utf-8?B?ZGtkWGZBSkQ3S3lCK0VnRVUwNXF4dEVReWFRSHJxQ0pQSHNYd2RXbXpNRGV4?= =?utf-8?B?Mm9aZFJ4SmdzU3lqUWZ2Z3dUVGh4bU1JL2llZG1xTTYvUjF3RHpLeWRRa1FN?= =?utf-8?B?SnNNVlFuK1JkaU1ob2dxUVdYYWk5K0xTY1ZvcCtDWVQ2aDlzdUZrWmdFYWQx?= =?utf-8?B?YVY4R2Z3aTF0WHpQNWJHZUptVndUcGdkWXc4R0pqQmI5NTA3Y0R0NGc2eHpP?= =?utf-8?B?Ris2aEZEVENzMEZkZlkrZ2FPMzJ0Vm9ENjl5WTR3T2NaMnRuVXBPVjUzUUJj?= =?utf-8?B?RW9aQzlKV0l0aUE3UFArS0crN0U3WEs2UjBFZmtLR0VzMWVTMmdqTmxhZ0g3?= =?utf-8?B?Uk1Lb3V0VEJJOUU2cmdZR1U3Vm54Ykk3TjZIZnhJRVRKKy9uUndnclF1aFNz?= =?utf-8?B?UlZhNnJtS2tIM25RaFlWVzVzZVV1REpIS1ZTa1Y0NDFTL1B4RXNVTE9pNHNX?= =?utf-8?B?aFJaUzJGbHJwcWJyR21nSEVZZnRQdDFEenJVZ1RYWGpNTG50TVFxNTk1NzVZ?= =?utf-8?B?L2pDRG9NeTZuY0QwRm5Db1pjNy9lTDFCb0RPMmFodDJrKzAreFo0TklpcGpo?= =?utf-8?B?V29Sa2NROWRad3dxY2NXSEFaUGc3VU9kMHROVEtiSldOT2VaMkVMaHUzTkdh?= =?utf-8?B?MlZiYUlocFU2T3MzaHUrcHN4RElkUXNRbFJ3VkpGYmdSZHRUR1lXUzNhcDBz?= =?utf-8?B?RUhoanM2dXVwU1NSTFFZN25qYnpLdVAyMUh0SXlLNmNvRm9pTWNrQXVNM04y?= =?utf-8?B?Q2FaTVhRbm9vQ3pHUVZHWXdKV2NOZVhVaVdWOXhxV3p0V0U0MCtQb3BPc1A3?= =?utf-8?B?WC9UMDVLWmhraWtyOGRpbWx1ekhnRFNTOTdVYjBVT0Rhdk5lT1F6ZGdBdmVm?= =?utf-8?B?Q0dNWnNEekZGV0xPRjd6RkxWd2hza3pSNkdxNm1ra2JwTm5NdFpwdmRjNXVV?= =?utf-8?B?d0RoSzMwSnRWS3JWcjFGb1BCekh5Njh2Z0t3aGhmbHZQOW5NQUtzdmFoTkVv?= =?utf-8?B?eFhxU3lDSTc2NGlqR3lmdStnNzdDWm9vNmRaaXptTTdkTU1YeTlqRkVKejMv?= =?utf-8?B?QXNhRnd4RllSV3BRUkQ3LzJxTHR6cysxL3U4alRIRzFpV2Ruam5xR0QxRHZp?= =?utf-8?B?bTVkUmE0OFlqSnRnK3Qybm95VForY3Bpb3ZvSGw0NmhlOWx6aUNUYXFGR3NI?= =?utf-8?B?NGY2elFwM0Q0cU1BWHh0emVqMnNobm1hRE1oU2U4QzIvT1N0aWlDVVg4UmZV?= =?utf-8?B?N3hNT01kQ2w3YW5XWW45bndYcWdGV1JGL2FOSEFWdU9Oa2RJSHQraEZ2SVJG?= =?utf-8?B?TTh5YW9FTzRwdjJBMEdmSDJmblNGRkFuL28zZVcrSUt5aVRNNWlnRGl4T3RX?= =?utf-8?B?TGdJdz09?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 6:PRBhMQ8Ak7xfzl63evcNn6KYWbO7qLsIZdNehGuEHEazvawyibnyLmghnTEa3Tsfjg9xU8kLAF8JP7WYgUguBGUmqp9v4qVJomkCEx8ujOofhErztQY/S1FvUxYyp0Eu2bKmRIDzHZSlRHfRsKLsi3YXdZXye3TodgTpqxQGLEycb7MsZOumKbqaIeUomazaCTF//D+u26S7bOPPO2YYLBMXuu5ny6KJ5pdCco4N/NkK4gJGZawfByLwOqkBhrTfxlhsL1cvLy9BF2rs4SxmwoWucKBQlkmnWFjVFYYLToPKqKnjTXSQiTYtjyk/fFYmF9UnrPwyQIairnKDuU0m60OXSXs2bFHVmGjmb87rpmk=; 5:7cZY8hnu/WN+wg1wXmJZUOLpquIlKkrtKhLomu7UxsfxZQDUr/KHqg5kSZyZwQwEiq1jx9Cp5s/NeflRQZTog9yIIK+wFt+YSDdpEzUemFukumr53H1snpJWtvJ5qJW9hprQVaxkBBHW3OUlzxXOkD9SQe8YckKggie1Cc+Qicg=; 24:Gbh84YjjfO9S89HwVMgnvVzN1kJWWcQJEBzTzBUC3ASmo3yCd/sEhgi74afU0tEd3dJFtUlcQ1ay4iP3hbKgg6CKO8V9bD3n6K2v3GBOjoY=; 7:44kwCl6M+SqwOEoEp5hvLLa7S51NLgV+8XskepzljYwJ1lv1LssFw/Jau9+80/ActtqKCbV4qgdDliV3B3ryD/m77qY1I6T4hkAiZ+LegIOosNKGOez8H4lWuyca+gt9238dkdrtAQ0V50yemGK6VnhfeFTIz5MoNWZc1R/J/cZ0BlFY70/G15ZYGskdDjdf2KipuLqdnEooEMVX+btlgGKXgOwTS6/P3uWDIt6GdepwmW5T/zTANx4an9+H3IDv SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 20:6y9bYjf0L5GXaPDYQdV4klr077GAjbl8WtnmodnJn5OefuJ4oFxQIOhic+nqvlumHSQXvpsHsrywEbyNplLro0DSGFHee8ih5lWz+ZobcKjMqHW5Zgikr/7QdaHpI7NqYabTb0y3fL6INZ++8UUNhRxQUCWpUtvHLFjqEN8roq6dh2TtJnR4VQF1m0o7z1W5RHXtjtzEZJhQ5yh8BuFPOXbA3M+A0oU9r6/sLsVVFFFzaPht6NmKGqp54nSqvwr7 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2017 18:12:13.6601 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e08b1f91-058e-41db-d08f-08d52541e8c2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0159 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 Reviewed-by: Borislav Petkov Acked-by: Gary R Hook --- drivers/crypto/ccp/psp-dev.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c index b49583a45a55..a5072b166ab8 100644 --- a/drivers/crypto/ccp/psp-dev.c +++ b/drivers/crypto/ccp/psp-dev.c @@ -274,6 +274,21 @@ static int sev_ioctl_do_reset(struct sev_issue_cmd *argp) return __sev_do_cmd_locked(SEV_CMD_FACTORY_RESET, 0, &argp->error); } +static int sev_ioctl_do_platform_status(struct sev_issue_cmd *argp) +{ + struct sev_user_data_status *data = &psp_master->status_cmd_buf; + int ret; + + ret = __sev_do_cmd_locked(SEV_CMD_PLATFORM_STATUS, data, &argp->error); + if (ret) + return ret; + + if (copy_to_user((void __user *)argp->data, data, sizeof(*data))) + ret = -EFAULT; + + return ret; +} + static long sev_ioctl(struct file *file, unsigned int ioctl, unsigned long arg) { void __user *argp = (void __user *)arg; @@ -299,6 +314,9 @@ static long sev_ioctl(struct file *file, unsigned int ioctl, unsigned long arg) case SEV_FACTORY_RESET: ret = sev_ioctl_do_reset(&input); break; + case SEV_PLATFORM_STATUS: + ret = sev_ioctl_do_platform_status(&input); + break; default: ret = -EINVAL; goto out;