From patchwork Wed Nov 1 21:17:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10037207 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 B82F4603B5 for ; Wed, 1 Nov 2017 21:20:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B2DED1FF87 for ; Wed, 1 Nov 2017 21:20:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A49CD209CD; Wed, 1 Nov 2017 21:20: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 3268D1FF87 for ; Wed, 1 Nov 2017 21:20:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933623AbdKAVRq (ORCPT ); Wed, 1 Nov 2017 17:17:46 -0400 Received: from mail-by2nam01on0041.outbound.protection.outlook.com ([104.47.34.41]:43936 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933570AbdKAVRk (ORCPT ); Wed, 1 Nov 2017 17:17:40 -0400 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=bGDVej3PcUFJlsQX1aBgCPrc5U4xKBJ1XAyzeA6eHNk=; b=bfSvmrPRdwiLhS/J0m874pj+HFQVx8JhiyQUnFapJbkJjl3mdQqxw/NqW8voWxqW3qLnzvzuvT++nvYFMk2c85c5NmVWUCYvUMS76peNXE1FzYZB1RTyLSjTHl1615ANVUlsT72/RxlVqASOJqEgUmr+JjCWcWeLBdpeip3kBc0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 21:17:38 +0000 From: Brijesh Singh To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: bp@alien8.de, Brijesh Singh , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Borislav Petkov , Tom Lendacky , x86@kernel.org Subject: [Part2 PATCH v7 30/38] KVM: SVM: Add support for SEV LAUNCH_FINISH command Date: Wed, 1 Nov 2017 16:17:15 -0500 Message-Id: <20171101211723.71594-1-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR02CA0025.namprd02.prod.outlook.com (10.175.57.139) To BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 05bc6e51-643e-42ac-58e8-08d5216dfb22 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(4534020)(4602075)(2017052603199); SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 3:Fl4GeYlCRpd6oWPzIldYlLlN4R/JgXzRfB+g7iAxwlQ5jUtrHbldN5FF8COlZSxwFEiAnU87TclYmJ9D6FBFr1ESdXJncL6VPj9N+2oKAqR1jo59K+t1nooTTu63Qlhzw7XHxWzG0J2WenBzVoLjRP+o9ENn5iCwERxnAq67+e+TQPgvm+7+4k7rpDxZeDCLHKc8jneDXtqp0bpv3SgABSx/UvvcTrzDh8H60wG8YAFwX1lXk9xRTmk5PxKJO3Wx; 25:1HD1siZR0KGDeZ53m0VrZFdQ3KIQyjYIVSLuRZ2uWkKZ6NmdXbHniEfziJKi6vb+B0xASQmb51yCpQNpY+7yEVwFmO1jJncZ/PprafoDCsHhUYB2eNcON4In8Hc5j9cc1bwQT/0yDVd6iAcb7eKp+HceqkWA5faZGNK6ouDHNCkO+RAzkvT6H/u+z4HjXsZCVXyXg4k2cuu5v9v+KTmcX84La4A1d/2kl1Hcm3dubDqtlU9N2rTACOECWMW3WDfQNve5GAvnlHtKZ/AKrKYDolGotR9QExL/cwzzD0OGQszZcUt+i9yACZ8E+Rxz7RGMjw7AiP77eLEtoinSrmXCyQ==; 31:0+8rg93WJpsz6pFdipUwopWwWvORT+4mzWHJ7DOb5V3coRyIaRb9oNaGQBtE+z7jL6S+LsxihRvdDs20xRuMFd6ROw2hFD0YkSSYydQOqmddiEdIlCDEn0O2eSAYl1XgxFEjb//tYZvvAOsytFXJMxAvk/evTjCM/yw56dBm4SD3W6Hahk8pfmtnr7/iBXzpKeMo82RM7vqbe6I6gaGwdySY/eODz2jNS9xtPTrzfhs= X-MS-TrafficTypeDiagnostic: BY2PR12MB0145: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 20:R/T/xRi5cW4ueURvospgjc/fY+F/4ZvlL9xO4r5pTcR+LchjmG3qPolJNH+SJtCUKQJgDtKQW/WOU/VgU5kEJQZfYaFyxQnrPrTsCLQoP2W46ttsiT+UGR+1xyE243BfliJvy4OAwafqLA5PwLBCwdRlAzHgrKX2KpH9gujY2Pj8PD4oYl4lvwFvMpI6GP5sZYCBv9T0nMHvtOd+ty06u5MEfiKXg9aHe7C/8WGOSebONkSkPTHXn7Ez+rxv/SQNdk2h1Aj5X5y+FHRCKCzhthb2oBi85G+lFPKegAJEZm43Hq2bk4ViKNlYkehMVe/tJGKlKLyTHr27bWqIOZfx3PnaGYIKh+iHwldPOFJ7eHB3yLQGeT/dDE+pB5m2qyzTjZHmMx9PTxwg5qAHSqVoxOLxZ6eyUJHE+S5VUQkbFMB6h5GTBMsKYgAuIwCykkDPiH3q4zFhlSc18nCS2jAOFHDwQRyHLZj7OzjJcRk4EHA09TY5Mh6qSCsjAxy784ns; 4:LDJSlQMavTnrpITshdF1Fx9qYj9CV7AN3M5O2n8t0v1CNgbYqywmlG0eM8EmmzWyk0KDdmZlGai1S8lA4HKO9/l5nDe3cb8m5xH8AFIDclwoDom4vrw38hl9euxMHQucnU7hJlEji4DAgpfh9N4188+Vb+E0XnA5nfP2jX9T/5fvwvQZno0IlJvE8SrzXrL3sl15zzs0H0DDJ7HNxFImTpxa0UP7mpeLgB1hgKWHml7oJKS33ydJ0vxubJY88s/VYcNGRwMQKWP/jFTdkzet9EpBeTfub8o76eF+CQ9OaAI8QkV6Y+uGG7em/T1w36d7kT+wJ60byXv09HetVvAT8g== 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)(93006095)(93001095)(3002001)(100000703101)(100105400095)(3231020)(6055026)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR12MB0145; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR12MB0145; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(346002)(376002)(199003)(189002)(23676003)(25786009)(4326008)(36756003)(8936002)(81156014)(81166006)(8676002)(33646002)(2906002)(68736007)(2870700001)(6116002)(86362001)(3846002)(54906003)(97736004)(1076002)(53936002)(50226002)(316002)(47776003)(50986999)(53416004)(66066001)(50466002)(478600001)(101416001)(6486002)(105586002)(5660300001)(6666003)(189998001)(106356001)(7416002)(7736002)(305945005)(16526018); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0145; H:wsp141597wss.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjEyTUIwMTQ1OzIzOlFUTEVlRmdyWkU3UzJPejJKNk5od0NYeTFM?= =?utf-8?B?NU9jK2lQc2U3RXliajlvTVBsREFGVWMrcDVGNk93T0M4L1FOS2ltWFVCOUd4?= =?utf-8?B?NC9zNXg3YmJZTUlsS1V5OVREOFJ5eU4rZ0JoY3NSWTRqTWx6bDVseXV6aGsw?= =?utf-8?B?YmhsMyt3VGRmOWltRHRkZm9WaUk2VEx4emVpcDhPZHU4YzdTUFYxMTRJRUNn?= =?utf-8?B?NVFSQ3BiUDl1a2Z3dkh4c1E3YkFoREk2bitIdENpbW9NMm4vMXFZOVcvMG1p?= =?utf-8?B?TjZsVXZFNXZZUjQ2U2RuZnhVMWU4SW5TaEpXSUtqQkh1L2FCRllPUFpYM0pM?= =?utf-8?B?bGlmSzd0YVR1bmJJMkRsRUMyRmNDUzVqbmdDMENrZEEwYTFwL2t5Y3BkNElP?= =?utf-8?B?dXJLd0M3Wi9QVHZrckczZW5tUEpQOW5FK1djTFlHMW9vQmNvNng1T0tMRUN2?= =?utf-8?B?Rjk3Sk9JU3gyd0tOMVFMREFibkJhWWtubklsa1VTVnVNbDRSejdudFBGanlJ?= =?utf-8?B?RVh0YVlzTjlVRDlGTndaZE5JeHhPVDZaV1Z2VlRqOFJ6YXZjZEVIaXprMmpq?= =?utf-8?B?SG1FT2hnL2toa1FTb1ZWV1FnQ2RZcnljV1k3a2lNck5XN3VDa1krZEhqTEcx?= =?utf-8?B?ZElRYXQwKzlZcGNUb0M1cmd1azFuNmtMR2VudXUvaklCNWU1b0tnV0E5eVZC?= =?utf-8?B?cjBhYzlEdnBZUnVwaUpJeURITU9uWVVPdEpZWUgwWEk0Q3hMVDU2Z010SXVm?= =?utf-8?B?RlBTT1k0NzAzdC9nc1hiVkcrcTdJSGRBaWcvN3Q4N24zeFc3aGZwdjNPaGZw?= =?utf-8?B?R0lTZWl4N0JFZzRKR3dIZzM4eDdHMmdYTytPdit6VDlqdnVOcHVPZ3RXVzcy?= =?utf-8?B?QXJQVEhjbHYyZ0Z1MnYyMjE3Q1ZJSVdhM2tUR2s4cHBrRkhoa0ZLZTRZSnRM?= =?utf-8?B?b2JObEtldWR0S29xZktXSEJ2dW1IL2JubmdVcm9pQlZXK1IrZjZrYzFUaTRX?= =?utf-8?B?cEcrRzlZclRnSFBWcjNOV1FsVGRwd1NFRmp2Tmd3eml4d2RpYmJhL3FwZVR1?= =?utf-8?B?eTNRaHVkUmd1WjJjNHNWZThEVndRVXZ2MEtNNzhVTVVlQk9RK2JyWUg4aUxQ?= =?utf-8?B?K2NlTFBCYnYrcHRqb2RCRENaNGhkWFlkc3hPUkZQaTY3QzFYWXV3UEp1QmJ3?= =?utf-8?B?bXJZMlBFQ25qc2xicmVHVS9OVVNsdmRxRkF1QU9HQVlSUjJrRjVJRUxtMnJi?= =?utf-8?B?RDh5WUlpWDRwUlZvS3Z2dWp2VEFwUVd1L0hvMHRDb1lNcVRiajkzUjNkZDBO?= =?utf-8?B?c0hpRjlGZDJTM0wvTVl6T1pERlRudFRHOFlVL2xQS1lIZnpFdHV5S1FvaFpX?= =?utf-8?B?WGY5Sm1IbHByZzBGOTR2QVNOLzBOQmdBQmlWNHlnPT0=?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 6:LUS25sdGdCbCzWVHyojvWqQQkbgWDfYV/i8LopTep6G/h22jHZUEOINlWKByPMrBS/nk/gdLlvlwonw2msXUAyyIk/9DFd9kHTsnL+ujFqRjzzEMow4kNeQKftSN7CBCRSsoR3GtmiIPNibNzg2ggLjMr72NakW/JPEgVnlaFMbyycrx+QBIJfNptjbQddg1pJpbNvY4DXvLqwzFO2pwgwqa1nme9w3Hdjpcixo7btl0fUJF6AuthRGnyq/l5VHNEgWOIZQHalCRs3JHHw4PxlPaNS+AOFYqoxeM7O4dVoexQsA7oTYSXYDKzOEI/6HgmLLceP0tVhRjCdiX24SeD/Gu/irpZzDvyl5Prto/o2k=; 5:V+7fKpA0AcImoXsgaF7gD8xKIFpRgXDsf1geauS/D0rqfCBZyyajxnJ9GwifsUusKk2bB1GZDL7yeJ3YVjMWnOy6c7DMC/db3ozvBKTBw1k+viEyJi9Okxn9dQngha77d7gRIoKHlWubxhD85GGmGi1QbDzRT/gcu9iLkOzi+Gk=; 24:5C2RKw+vfxiyDwu65JNVUVUTXdGnRTm18houmoh5Kegku1FYfYCRZ9gOwEP/WNEpRB4BLt2AVfao9VOYsRVZMexPwNKG0FE4qkRA/KU315c=; 7:r6F1xjj4WxpUtR6rOrq753wdCncYWcoIkfrQNZ+JySD8R/HzooVMDjzwO+N2LPVb5Z2ZMeHWmvTAJxVqT4PQTLoM5CH9n89xWf5wZgwmC6B7nVaCZLnsZMcJn/fMu4HIs80FuK9lCDVCi81TLTvQvc+oPnJ31d46E0LleYSEVZ2391csJ9B91crXYfenGysFeb3HBZz2im8lUpdi9K5tnQv+ooq+A6Cb7FJWrB4d7lRO7ou/zpWOGmnJahabU2uz SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 20:+BkGxDk1yrCdrDnaEudATD3N5SeC8xok9AsKlC1LY/cFO0hbVeVuU5TG1OdYWIjQTncPbJQVD+gfzOjrp5Q9pN755yVKue3qgu80Y+1G+smVdBLNeV+D4+/Wo6QoHLw/2/uscBuvsdwoiIRgzYVdn7PHYNa9rMZuZ+BkJ+8J/pMjtigq21zY+nzFfRiRJZVn3d48w2pPy2iJHBZoWDDzta3m/6lqe1YMfhrK6Hjm8KLD1rssRS/dyochM0oxeTWY X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 21:17:38.0964 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 05bc6e51-643e-42ac-58e8-08d5216dfb22 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0145 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The command is used for finializing the SEV guest launch process. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Paolo Bonzini Cc: "Radim Krčmář" Cc: Joerg Roedel Cc: Borislav Petkov Cc: Tom Lendacky Cc: x86@kernel.org Cc: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Brijesh Singh Reviewed-by: Borislav Petkov --- arch/x86/kvm/svm.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index c9be9dde7b85..0ed823806bbc 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -5982,6 +5982,26 @@ static int sev_launch_measure(struct kvm *kvm, struct kvm_sev_cmd *argp) return ret; } +static int sev_launch_finish(struct kvm *kvm, struct kvm_sev_cmd *argp) +{ + struct kvm_sev_info *sev = &kvm->arch.sev_info; + struct sev_data_launch_finish *data; + int ret; + + if (!sev_guest(kvm)) + return -ENOTTY; + + data = kzalloc(sizeof(*data), GFP_KERNEL); + if (!data) + return -ENOMEM; + + data->handle = sev->handle; + ret = sev_issue_cmd(kvm, SEV_CMD_LAUNCH_FINISH, data, &argp->error); + + kfree(data); + return ret; +} + static int svm_mem_enc_op(struct kvm *kvm, void __user *argp) { struct kvm_sev_cmd sev_cmd; @@ -6008,6 +6028,9 @@ static int svm_mem_enc_op(struct kvm *kvm, void __user *argp) case KVM_SEV_LAUNCH_MEASURE: r = sev_launch_measure(kvm, &sev_cmd); break; + case KVM_SEV_LAUNCH_FINISH: + r = sev_launch_finish(kvm, &sev_cmd); + break; default: r = -EINVAL; goto out;