From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752546AbdLEBNw (ORCPT ); Mon, 4 Dec 2017 20:13:52 -0500 Received: from mail-bn3nam01on0083.outbound.protection.outlook.com ([104.47.33.83]:27456 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752297AbdLEBFg (ORCPT ); Mon, 4 Dec 2017 20:05:36 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@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 v9 15/38] crypto: ccp: Implement SEV_PLATFORM_STATUS ioctl command Date: Mon, 4 Dec 2017 19:04:15 -0600 Message-Id: <20171205010438.5773-16-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171205010438.5773-1-brijesh.singh@amd.com> References: <20171205010438.5773-1-brijesh.singh@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR0601CA0087.namprd06.prod.outlook.com (52.132.96.156) To CY1PR12MB0149.namprd12.prod.outlook.com (10.161.173.19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2852992d-ed82-4d71-9247-08d53b7c3a52 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603286);SRVR:CY1PR12MB0149; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;3:5y6NpmzZbNkPgDXpdZ5CgmfQSWX/SuEEct3ys8bBwoHa3p3C+bEjbjDq3pOjwbgRkzQ2C0Ql3O2oaTrVxJ/731T5wtRUbBN1rlDykZ0Rcho16/AD4leuKCtTOleuLVwdi/YgwGfG1Wzbl84vmZbNXF6AuRR/eDTZf70JD72efT5VS2B/uxxJgJeSoWwHtODgiQFHJnzfAtMc8whyrLQeDwt+C2uX9F10oJp6lgijT0S3D7/FnolScyCD82d+nxht;25:coHI16F9piDNNmZJkHjg5yeSKmbddK0mIFm3XUrq7oJPjRV9uDrvL05MiLTmi+Ck6u8zHjrBf4wkQNkZfrWreBX1Q5pBWIdvtnTBuhqNXy27WKEEgKf1Ibcp3nXbjImQwmrBlPUYgfkt/gd0mn7YXDQDu62mc0sS4d593+M1N+h6680An3uRe3SPIDk1gn755/CQsppvdr1oruj5I5Jl1jh5utmP/whbpSQ37ajIyRHGTx9TUGu7SRY5LPaXzlp4Rvu4E0JzApb4yxy/T2J3yaKP5aNXE02LLTkQXsWqClkTT30BtE8Sed0Jz75uIOl78e/HRVv/oo1q68Pk/0/n7w==;31:8wVoFEpfeomfRuq9QbzBR15Jx3wRmYkTTUGMk5omzRpdA9Q/goGDREUFJEuy2m2Cfkdci8nhbndXt3NBFCZ90DrfDnsf7bYDZSg8kY52dwWDxGoaOxMFJ56L1fu2i/RiXK8MV3WMXZLYhs76PkTJhx8TIbtEIrmvf3GJWWDLWcnt7x+8rnZoULK4w3avFJqLxSvikAVRN7/UiZLMbBruV/c91Wi+Js1qi91R4zUrnPw= X-MS-TrafficTypeDiagnostic: CY1PR12MB0149: X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;20:JGGUdXUvjocb30Wt0gfUAclg8eLLn3RyQ6Ro3aUKaqB5ejvKU21vpevn1PmMJKp0qePqvCK6tPIGIFZvOcZe/yNap2H6/7u6U9LBsTOz2+CBfZGUeN+AzYt9IWKP8/Je8+HGwl0NVp/CC+Y/d12XnHpGDc2q5GXk5RTJAjw1wJiQ+s/eDdwBBBWQhphT+aoN7hmrlHLjKi3ZCok6unTN04jVSyeAelNpi3MgNgMN2wwNpN1ddXfpPJr5WE3wuSPTm6Ih+w90Ebo7XFdsdZY/S2qnPNTl8rgdWaMd3rh+S4nAf3rJA2pe7Ee/KKDqtxxnstYX8j02IsM254iLCkG/f53/R6OvuQvM377NMaACDtLBdtSxL0dsIHbsuPoOKYwWNFKzjeTu6+5B3YZ5NmqYNDCVBm19nTgV9F7pTK4HJoUGRx8kpig2CmR2Y8rpmXDQsPUIHR8gz1aa3CrixogKYVgPv0Biem2sPJcpzJy7Osg9teTdDj98WInwB6anJ1ZO;4:k4RLmZNGL01Jf2KYAxCRFebi6J9VY3QiHqFbQohQMkvPc4H76QNDWOZUh+jQEAIS0mHw+l3/I+Kr4s+/KVNJV7c70Nf2Us9yIOpTwiiXUWF9s7l982S+HbGbEtAD4vWdHpzDvi+wmo394n8Mouwnc+neEMotVnD06P7d3DlWwCMsCPHYoIz1DIN9cJ+hYjHYLZhbTd4nI8px59Z2QIVB8gpy216NV9YPHb6W/472LyfDLZEo/9S+ftG6NHSmlFti8X6sVwOpeNZaZPGH5umlUGdDgWmoDqdUTkBbXdOhO/JoOQ6QeC9hlDq866T7/JqiwJ5cOkUTqLHcUtAGQYSChw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231022)(6055026)(6041248)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011);SRVR:CY1PR12MB0149;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:CY1PR12MB0149; X-Forefront-PRVS: 0512CC5201 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(366004)(39860400002)(346002)(376002)(45074003)(189002)(199003)(16526018)(189998001)(106356001)(478600001)(2870700001)(101416001)(23676004)(52116002)(97736004)(86362001)(7696005)(33646002)(54906003)(25786009)(105586002)(76176011)(316002)(2950100002)(6666003)(7736002)(2906002)(6486002)(50226002)(81166006)(81156014)(8936002)(53936002)(8676002)(4326008)(1076002)(305945005)(66066001)(6116002)(53416004)(5660300001)(47776003)(68736007)(3846002)(50466002)(36756003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0149;H:wsp141597wss.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjEyTUIwMTQ5OzIzOm1sNmIwNUdDUnhXRzZueDdHRXpTenU5dHFG?= =?utf-8?B?RnRyT1BpZUVnYmtMYnN6WkdBWEFMa0Q0VndJQVdHR0w3emlkLzN3aW4yL0FO?= =?utf-8?B?cU91K1JGemx0dFpKRGtjOFpnbE1jVStoNVZyZngyVVJZMzhjT0s2K1l3N2hX?= =?utf-8?B?T01PVzZpOEJ6VkEvTVpqQ214b1FaVHdzdEpHTUhFYzIzd3dzMnd5OGh2WHJB?= =?utf-8?B?Y3dySTUwSTdQN1J3V3BiZ2dGZXNhRnRpUzdnbElUM0g4elZTNkQrS1hmQmI3?= =?utf-8?B?NytYL0RvRnVCcmgwWEt6OTZUaWFxMmdmZGtwcWl1LzQ1dVN6cFY5aWlaN2p1?= =?utf-8?B?Qnc2L05BTFdIODRrYzFYRTBiNi8xZUJxeXAzay8yb2RrbXJIaFUwcXdHalps?= =?utf-8?B?UC81a2FIVDhTaitydityMEhUNE4rOGZSRHpSTFBjUkYzTUp4b3UxenFWNEhS?= =?utf-8?B?TUo4aUxWUDl3ZDEwMGh4ZEFpT3lsME5uQWZpTURqS3Q2Y2NVeTAzanFIT0NO?= =?utf-8?B?MGVwbk5TQlJ2ZmMzVDF6b2dGSE84V3lMWWxVdlJWY3haQlZWcXNFSnZlUStv?= =?utf-8?B?dDlnU3dSYVBPWS9LMmw3Q2N4MHEzMjkybUhuUmhGZ05NUUk5ZndyazZReXQ5?= =?utf-8?B?Z2xFTHYrU1daRzBBdzVIZUpVVjlSeU1pYjdRSDl3YzJOVm5tSVJvN2QrKzVj?= =?utf-8?B?a0hiYVNjVUJqZm92bVd4cDlNMVY2VHU4TDRxYUpoNktmY3E1a3JqRGwwc3ZJ?= =?utf-8?B?dmV0VUtZdEwwN2E1RHNBS2hzM2x1cVVzVko5RkdpTEUxMG5vS3ZJcVM4OEpC?= =?utf-8?B?WWI0cXRJazA5VVgzbGlvWHVCWWdOYm8rN3FJY1pVMHZ0QU1uZUNna2s1MFRY?= =?utf-8?B?Z3crSzhJbm56b1dMOWJSb0k4UWZLSEk2TzRUME4xeTZWbHBMazFMZkk4dWtn?= =?utf-8?B?V0w4eW4rbEpGUHpxVDhINzhUOCtNMHZGY1o3a3FJOXp0Z1ZFeW9xNkd0ZHI2?= =?utf-8?B?L0NLSUxKcjYyYWtLK2EwRUhGNm51OUV5YTA4Vy9vN20yU1ZKSnNSL1RKNnlL?= =?utf-8?B?U1ErcForNlZ6N0VvdURWdG1RSGJ1dW0vZlRub3lkaFNRTUlMeXZLbmZYOS9o?= =?utf-8?B?TnJuYldLME81bFF5bDFxNHhmM1l3cjFQM3Q1MnFDbkpNQk9kbm8zUm5FanRE?= =?utf-8?B?aVp0aHF1ZjV5bGZiVzhwOVphMXZzMmVxMjhKQWdvN3JKUnIzbnFUdTNGNnJJ?= =?utf-8?B?ek1SS1N0cmI1VWRsNWJCeFdwM09DMlUwd2lQOGs4TUFBSytQbWdmMWd3WjhS?= =?utf-8?B?Vk13QWg1UXlYL2hVYWcwNzR0U05ZSnZuby80USs2WDVqbTZsMUtoSXUwV29r?= =?utf-8?B?U3RQUWVWa05CVzFYOGtoQzU5N1RnRVlYN3VkSEh6V1p2K3lYUW5GOUlNNkhw?= =?utf-8?B?S080ampLZDdXV045eG1FRklqcjI4R2JQcW8yVjFmam53K2tKWEMyVDZmamJ2?= =?utf-8?Q?XJc0CelD8SvJZ64Re3HrHM14Y=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;6:Ekun5rYysVKJMVrUUIUQ0E9xqi1D5VGTuy7WAtXF3lBreZvkOCOLaMpsRqv94MaNkncFcPCXGwl0lLRA++UoERMH/CCMFJdgUju3en9ORRjpnzVfx/aCIA+VP1mjPpO7iqZDLoeTWWVbVVO7KuDzsz0fpqXRXOrux6Dw3bBXPoR8zIXlTISonCI703Ztcdu0Jthf/sakyNu820AnYnNW2CaUgnciNqejoRxC1XXjIGOfmlszDnD+GcUnsGRnfVlUq9gP15zgGCtwNw5bsvaRmfgOivV0YDwGtrIADA5lalR3UXnrcFAcft32kzkAKjy9bLsaXpoZbLS7WeYKBFrOWi0VYY4BJtfFRo0xqALLUJg=;5:cmSw9ICCWUyMssnd4u3PkwPq65UkR3QL/nZK+vcCrNMhIwcsqKqekT2fF2TroTuSBtfqkuH08RDcE2MCcawmT4nJo8UG1r2+r8q80SUnYm1DexOSoRu+oPk9vbRQ7/qqen0KgiCzx9Ha4T1GGtISn62GwR/tpG6x5SnoRgGqg6k=;24:GJA10ByJQrZIIEk4bas933cXxAikRYY0Y9bEQIRt70DBQX1leMqtm0rE1zvzD8kphGB7sinloVpWPd27KartppaM+tePG8p4prxbETRqdW0=;7:4mExYhfnAA9mx+/yyZu2ZYLJi8WBsdg7Q++0uDNX63d5M5QjEc0j3LaHsSBN5hwJ5JMWFwmFe6rhRAYSYtsHwr0hqfrby1lQka7iyVT0bdXsAYKNe++CgE4bVdemNz+KWJ/NCFfr+NNwODRe5oVyB7+O82dVg7oyo+mJ4/SfBLilzAJ+6FY3uFmsthnNkHcDiktD+ADdvq56Z4luVKdo3s+VN8qw45k57WQsMqx9PvxuWjitFExoDhfsF6U/4M7y SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;20:cxo+qHDHB2vhGU7jEJwE2KZaqIlkPRUGZuyODlWuBmr2MmHPl7zB7hWob6MIp2oEaT2Edx/Daypow1VoYO51NCEoFmoKKjv1jFIzETanZGNsjejhemJZFSPXoXwH//ymT0n1g3Zm9ilZ6alixmpFtb/bmaguxNQVj2ENiTp9MYnAAaKtZjBqPD3wfUeJE2+taXqp8r8Eu3l6RUp4ghs6V5v2I8hYZ+bYI1/8RtStUmYd1H8xZvLG3vsFScjvc51Y X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2017 01:05:07.7641 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2852992d-ed82-4d71-9247-08d53b7c3a52 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0149 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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; -- 2.9.5