From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933638AbdKAVRr (ORCPT ); Wed, 1 Nov 2017 17:17:47 -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 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 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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; 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: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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; -- 2.9.5