From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967774AbeAONcy (ORCPT + 1 other); Mon, 15 Jan 2018 08:32:54 -0500 Received: from mail-bl2nam02on0078.outbound.protection.outlook.com ([104.47.38.78]:35456 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S967743AbeAONch (ORCPT ); Mon, 15 Jan 2018 08:32:37 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: kvm@vger.kernel.org Cc: Brijesh Singh , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Borislav Petkov , Tom Lendacky , linux-kernel@vger.kernel.org, Joerg Roedel Subject: [PATCH 4/4] KVM: SVM: Fix SEV LAUNCH_SECRET command Date: Mon, 15 Jan 2018 07:32:05 -0600 Message-Id: <20180115133205.93859-5-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20180115133205.93859-1-brijesh.singh@amd.com> References: <20180115133205.93859-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: BN6PR08CA0073.namprd08.prod.outlook.com (10.172.143.139) To BY2PR12MB0147.namprd12.prod.outlook.com (10.162.82.20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5654367a-eca5-4255-466d-08d55c1c6c46 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:BY2PR12MB0147; X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0147;3:T48TOX12iXPKx8TLO/ltO3p+h8Ojfd8LszK9LqbuzJOKG/XDnrqu4vqA8EBF8pKi5XFdkfqYhOPF59oFuKtpGIceHJbSjG/HC5uKdF5FbbI0wo8QqDPamSkPFpSO/ZhirEHNSTBSeIIZ4xU5utSn+aKrSgZ7nqcykjjx38e/osUEPJsI/s+Fa+/qsW73FLaCegXZtCV+lo9JH6BA91JJUsdrrBzWqO0/JBMp6JDALzBdQhzrMR45b5UyCHBJKiAJ;25:Egs+e+kd0OPpL1t7NpEvFs2zMjXUcpOjU3K/SPiABDjFu4MtQ8tFIgLRmKxykCJH6xbHMwc1of7aJmHcdhMI2Vrl5Hc26lMIFkOetGNKpiDc3d+uk03YwPcuM0QISSop+VezNQMTAlswvvhVe9lby9GzP7JpD0nEECpYeThBui1Q70i7ER0usGAY9CzrNywBdqOrIiuqEWmPKVZ31irYVg8W0ZoNDu7vOoD8Tiy5G3CAu5By+E+dlZsvDdd+VJPZdsiotAgriCbycnAosOjE6vVZHzOdf6EhIqOIkknVj/kAu36QvJ+73/9ZQZE6MZaNT7vNJZOm1xTSz/hNiIFLPA==;31:w19pC/Sp+l7MU04lX0K1LHuyg19EbpJE+Xb8J090yXMvcaFROHkmFUAw+M4yut5mj9KGD/68efByS6p+bxwoNOzHwYNdzDUBrzwGYOKl7/R2mGkSwxoD3358ETC9zFi3pcDuFMcUMRAuPBZt80VrEy5EJZmqw5SJqX1Fzm3rWj4RHOYCKdkHDBfIdVdmYqjEppToJTRHYzr7xomyQFwh5ytBtARS1jYhBJ/uncnYSB8= X-MS-TrafficTypeDiagnostic: BY2PR12MB0147: X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0147;20:01JWlVAYVFoEtJpbqSZ8h/UgNyU6lTqqN481amWHL/6mquJIwUjB05omoGGP0ZM3aiW8dPauHE92MRPg0gczc9x1/9Iy60BQRJUfhe4XBAnHe974o4OoQICOVzDV9G7ExjCF7JOuORLjdCLNop3HXFSHd02rEoHaeA/lYYQ66DWJvH0BtSpCXyAeJwNOzUnzEbbZNN//XABM+Wmgbzp7tj12WXLyw+4YeijI+2BMKWEUdeccHBQMtB23FRXaD9BZgjcrFo17Ck9sINCr9kDPAd5x1fkLkX0iXDkrpVSO1w5vi1DB6Jnt79deuhkOPD9TT699ge3FOBg//EsoTFEarf80WY/QyUMENgMWvrWL84L1dBC+DmPuahd0RVrG3NzZHBMDQHajqGavfx3qaDKudAW7hHKBq4TBDq6cCHz9o/NgQyA8J/MZVsbrQTbP3sFDRWcP9ePJAH6Fd1dnyOA7FSwecuycc3O+0BPDCN5++oX5T1lE3fY22Y2Zf2zr2dEr;4:6jkghY/6svWyz5vGO3WPYDGPgXMSf9pRV2hgwJwpaGFkukjhtNy6HBao71pzPIsvZ/VpjkRVTQDlcyyU0lDCVfyz5G5NVhC32vUf6im+lwfwzyemEzlrV0XqVJzuJW5ftJnwULsYcz3DUxtkPOiuZrekNzCvAaE6K3RA6T6N9J3a628L9Q7N8UpNRWul+G1t6UILdQ+Pd2mlpkEPuHmT3s4H6gU32hPSrCR/rAMHwQQMSSmOhV+TQGJS+KIqgC5fqKyTJW8jz2Ls/7cd520wdiAtbTjMKmcZIbt43JNk1NNcYFS5ucTvXPQyezWnHiyvPbAuUp9ubdVUrykWVNFnAQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3231023)(944501161)(3002001)(6055026)(6041268)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011);SRVR:BY2PR12MB0147;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:BY2PR12MB0147; X-Forefront-PRVS: 0553CBB77A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(396003)(346002)(376002)(39860400002)(366004)(39380400002)(189003)(199004)(50226002)(86362001)(81156014)(25786009)(97736004)(478600001)(68736007)(7736002)(305945005)(53936002)(8936002)(8676002)(81166006)(23676004)(2950100002)(2361001)(76176011)(66066001)(16526018)(5660300001)(7696005)(3846002)(1076002)(105586002)(2870700001)(2351001)(316002)(6916009)(2906002)(54906003)(53416004)(47776003)(36756003)(50466002)(106356001)(6666003)(59450400001)(52116002)(6486002)(386003)(4326008)(6116002)(219293001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR12MB0147;H:wsp141597wss.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjEyTUIwMTQ3OzIzOlowaGVmejNnN1BtTDVoZWNhQmF4ZjUxcW51?= =?utf-8?B?RGNhVU55TmY1VEhPbE1IYzgwVS9kZkhSeGdzQkJXdHZOckpsUnlzKzY0cUxm?= =?utf-8?B?M0NEMmVRYktmZGU4WTUxWWFhRkJ6U3NFVnlTTHNDeHNsQU4yWWF5TmtQL2ov?= =?utf-8?B?R1gxZTVGWVptYm4xRW9ZZXZ1OHBqaTQ3Rlp1b05NNExoeEpGZCtEZlpDcGxG?= =?utf-8?B?ZDF6OXpzZ0QrQmxDNTI0U0ZxdFp1K280bWpDTHNLdC8yWExhbDdjQ0g4TlBt?= =?utf-8?B?M3hRaDhGTGVBWHlXTjFFMGtrTzVCWUsyVmh2bzNjMThacTRlcmdTWmxGNDdQ?= =?utf-8?B?NmpEMTdLWWZaZXNmRDF5YzUrdVN6ZnJTNm9KdVFWUGI2bXhpU1lLeWN3Wncr?= =?utf-8?B?T293QU9XaUU3dDNHbGFHZTgwaXNsMlA5Yi9GZVp0RE02QklvUVZFU0tQV2lH?= =?utf-8?B?a29BN0dzWTN3WGUzWmRlcGZQbUI1VFlxTHZZODBWWDgwcDhSeUlvR0FZdEJs?= =?utf-8?B?c2NuSVM3aTVMSlM1eklWTUxnREp6eHYrUDlDeUpGSzZnSzRETy85dTRmNyt1?= =?utf-8?B?Q0RscnRXNG10R1h3SmYxZFVFTzRDZStZSkhSRytnT0RQaVpjM2N5ZSsvQ3JL?= =?utf-8?B?c2djQkhFMVVuUFNUNU9uWk4wMmRyNzVrbWg1ZGRzMjlYRGZDVjd4WFo2Q3FC?= =?utf-8?B?VmFVK2xoa3JvSmozd1daVG0rRUYzZFdwWFRnUDh3aUhVOVdBbXFQbmxZMUFk?= =?utf-8?B?N2M0YkZWUk4xNmFIRHNocmNmeGpHc2Z4UXZWSVE0UHByUEZKV1BrTlF4dW5B?= =?utf-8?B?ZXBXNWtoSG1uWFY1UlhVbjVCWWNMK1pJYnMvd1VxWFpFbExmU3dxeUh3Zm8v?= =?utf-8?B?WmZiQ1BuY3NsNmZMSzJkU2RSRWtFN1RYd0czc2hrd2FGbWFwSVpqRFE3Qy9M?= =?utf-8?B?NFpnTmxCQ0tsRERQMjVmMDB0aGFIb1p4Nm1wdzJmdFllZE55eWluWWtjay9G?= =?utf-8?B?MWRmR25XOFgyQjdJK1UybUFTZUhqSEpQcllOWSs1QlpHbWlyTHpwdEJHMHVF?= =?utf-8?B?YlQ4WDdLL1ROMDhVOXJxdDRCN0dKOW9obzhwTGY1YitGSUpEWUxKR3YyM3Jn?= =?utf-8?B?d0tkKy9nYjJ0OWdSd2VhclprcDE3Zk1tcERacFhQRnJwUXA2Uyt3ZVkySGp0?= =?utf-8?B?aDdCZmNMR0IvQkFvSyt2c1NLWkJaNHdLZ0hqZ29JR3YxcDNpc1dUMFRBRHls?= =?utf-8?B?eFgvcUd1ZmxhRlBkQlJkWFc4TXBKdko0V3hKSUFvOG5ZVmtBOEVVSnphRDZ6?= =?utf-8?B?U0toMTFGZVR3Q3FxeXBJZWlYNHlWdUVSOWE2K1Iya3hDRlA5NXBmV3ZIRjlI?= =?utf-8?B?MXZRVjY3SE1ZV2dWQ0psV1NRVmd3d1lQOG9SRksrT1RaR1hRMGxiVXl6RkJC?= =?utf-8?B?VjA3YkdRMnFOUUhPVVRXYnZDWnI0aExZc1JEaG53OFY5RjkwZ0NPbURmZ1M4?= =?utf-8?B?UXUrWERZeWZIS2hLR0ZETUNROVQrL3lNOWZuRkd3LzFNMU56ODQ3TUxpU2Z2?= =?utf-8?Q?JyRdd9CmmvC+OEAPWYSWMwJUmg5ZFm9FF4uA/PDjUbVA=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0147;6:yM7C2uZFc8iTXYsDEI73xOwYGNT/gpIvo0mzhtzg2FDj+IxaHQhOP6q7SvE4Epa2CSIJIsBu7Sp5yaWeAf7l15lQ/33tNx1QUnKCN5C1JWT5hRnwcV4S4S19q59KaUuAzHWNpJCNR2160eWSYaLn6HXwRGswEDuOT97Qn+zqqjiWqj4YHRj+VQQP6Df6FJ3+8FTd0p2upX49nVY+4UdvEbdh6YtwA1EOqzex5dljoYa91d8aNWuMSJbuX+sO+pWkOE0LaAOoOy+TZA4DmMSm/PJD7a/RhHIObS5TUQbRP4YoElV8Q5bBqBZafUPmMTcL/DBZSKQL7Qshzv/HnkPrmADG/Ff3bfFNQhFEIvADdgg=;5:X+pb73own4Max92TtAIAdzpUpQyWrNlQI5GAVTXIm/wh7Am9hpN8HpwzLSMUR4xKfhdMswmyAncXbYkGhixE55Uct4a8yDzL8P73O1qPpqPnI0/MY5mw45xlWfngmSZRkzzItc4C/YXuAsoN3tBGtVeTtFoeSPkv5Y4rVYhrYZs=;24:gZhQwUbZemMH+580Ny50YIvmwCNSpKw1v8iHsItfEklfhrzfzoOTyIPoWIL8KczfktWMxbXuNomwQd1a8l9BF6mYhP8vWIc5tNpd2Ohj5gU=;7:izMR/BEfc2xm+sGA4oGvgafFhFk6t0dcgDPWcctpqXJpKxyMur7BOf+XYe3IU97BH+ZWC9/Eo2ro5xVB2eBdDB1hPbFeEHt3YQv15x56s5gldHP9j9pFTQ8E2/5nOeAmE/hOFgvFcwWlhr4FcEv5PVycOsEzQlqQHp1EgP+NpRtUN4RTZPtn+mYA/bOt39bGU2OMSd2laisEsZm+/Vpcot/8SAxtE7WtMd+dci3w2x3RxilQX64IgvXXIUt9q2+i SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0147;20:BfNEzdSXsf0Lg/3mq+6kFfMHkDiwA1LGHtr6Jq8k0PGxfH3S6RABD6LEoynsXhyAbTFo2RbMdhNRh+qELx4FQ2DwDriW8l17QdTnM2L2TGU4ARefwHlAzBJNgfW4Bbc2i/GFsiJ+42iSl2RBw22z3bFTzGmDEMNCv77q47umxwnGiEAMScZlfLQZx+SCiegvOS0HrngcQwDMuXtCLofCN5OdP2xYETcvFVj2SSdU+YjnuwxL0EvLuxnFt7h7cIeh X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2018 13:32:27.8021 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5654367a-eca5-4255-466d-08d55c1c6c46 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0147 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: The SEV LAUNCH_SECRET command fails with error code 'invalid param' because we missed filling the guest and header system physical address while issuing the command. Fixes: 9f5b5b950aa9 (KVM: SVM: Add support for SEV LAUNCH_SECRET command) Cc: Paolo Bonzini Cc: "Radim Krčmář" Cc: Borislav Petkov Cc: Tom Lendacky Cc: linux-kernel@vger.kernel.org Cc: Joerg Roedel Signed-off-by: Brijesh Singh --- arch/x86/kvm/svm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 8ce5bb7b04d1..ef33bef85691 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -6472,7 +6472,7 @@ static int sev_launch_secret(struct kvm *kvm, struct kvm_sev_cmd *argp) struct page **pages; void *blob, *hdr; unsigned long n; - int ret; + int ret, offset; if (!sev_guest(kvm)) return -ENOTTY; @@ -6498,6 +6498,10 @@ static int sev_launch_secret(struct kvm *kvm, struct kvm_sev_cmd *argp) if (!data) goto e_unpin_memory; + offset = params.guest_uaddr & (PAGE_SIZE - 1); + data->guest_address = __sme_page_pa(pages[0]) + offset; + data->guest_len = params.guest_len; + blob = psp_copy_user_blob(params.trans_uaddr, params.trans_len); if (IS_ERR(blob)) { ret = PTR_ERR(blob); @@ -6512,8 +6516,8 @@ static int sev_launch_secret(struct kvm *kvm, struct kvm_sev_cmd *argp) ret = PTR_ERR(hdr); goto e_free_blob; } - data->trans_address = __psp_pa(blob); - data->trans_len = params.trans_len; + data->hdr_address = __psp_pa(hdr); + data->hdr_len = params.hdr_len; data->handle = sev->handle; ret = sev_issue_cmd(kvm, SEV_CMD_LAUNCH_UPDATE_SECRET, data, &argp->error); -- 2.9.5