From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752291AbdJMQJm (ORCPT ); Fri, 13 Oct 2017 12:09:42 -0400 Received: from mail-co1nam03on0075.outbound.protection.outlook.com ([104.47.40.75]:15264 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751192AbdJMQJf (ORCPT ); Fri, 13 Oct 2017 12:09:35 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Cc: brijesh.singh@amd.com, Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Herbert Xu , Gary Hook , Tom Lendacky , linux-crypto@vger.kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [Part2 PATCH v5.1 12.8/31] crypto: ccp: Implement SEV_PEK_CERT_IMPORT ioctl command To: Borislav Petkov References: <20171004131412.13038-13-brijesh.singh@amd.com> <20171007010607.78088-1-brijesh.singh@amd.com> <20171007010607.78088-8-brijesh.singh@amd.com> <20171013145344.wfll3ltikl26zj2y@pd.tnic> From: Brijesh Singh Message-ID: <5c47342c-0d0c-d14f-bf8a-027dfc21ec77@amd.com> Date: Fri, 13 Oct 2017 11:09:26 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171013145344.wfll3ltikl26zj2y@pd.tnic> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CO2PR05CA0055.namprd05.prod.outlook.com (10.166.88.151) To SN1PR12MB0158.namprd12.prod.outlook.com (10.162.3.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9e704b56-3801-4102-084d-08d51254ca9c X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:SN1PR12MB0158; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;3:zwlKRu7/6UtD0SCmIvF5RIcxzUpv/n/WlqrA5ZjSEF9Ovla4U5gpGtIcXVZt968zF0TU0DB+3uEJUR2u1Z8bAfUqkYsS9D9xnR6aTx3cAK1vuebHjMBzwdfVoTH7kh1seua0x8kNnJeIJeljNHt2g/GwUf4pQWAlyM6xEKI/9mE3/lflU/sKoMXOxdGtKBhdB5SO4kJcxcVQNOf/VcK0bUY+gDeQKLmpdwV+A/A3cHg/3+A7RQtihX8b7lDFtHV0;25:juHp/NSVCJiWCOuQwbGGn2Jx+ESxh9RMvD1wpDRtw4Z2nehddXlmOJJR0bEXMu6m/AJ7uBGFIgQ56UgKPNZPVnojsbVT88VJF1MlhRrFCncABfe76gs9/DM4L95JmBFJqCnom3evWFICH8utVy955LbtYsueJI0xgs01EmhYvPmi5IQJNtjtujRyAXLhKTisHZGkU4N6WGRHEnxGbLXlLg54KJ4cLgeFUs+8UYeuHJxl4YKlqo7JSUhWspvtd73rVMCvW5A5V2yA1CYixSTFcKsxJKDC7FxrBoMkTdaBx4M7wOD+uIX8ryV/rbDrFtLW7FucHJaexTckGgHI8N291g==;31:NtSZjttNmnCMYsExVuKHFkQ3HHawoX5+GiyeILxsrNghaBjAYg8e4tR2yhMixzlErdAopOJ/jz4b/95bPkI7ZZBIwJ/ovFzekJDmEJ9WNgAkwiVrdQg63dizeesQABnGqU8thQDjKfxqbEWZRbxl7mLX6UO4DFfya9ZZ+4JU0IBG5DST5qaDlWQCxqfw8NA2kVaTgUeBoYcs01RTi+5VTt0adH8L0vQyh0jAu+vyZCg= X-MS-TrafficTypeDiagnostic: SN1PR12MB0158: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:1+JoUX9gTn2IxWIaowU4tM8fCzqBDqFsaaJQwlVh7Yc/51VF3n2dG+arrPbAWw4vEq77g4IjPrmLKFnqedL4VmKx+2iB5rms2i/7eMvALAm/+eJcm69Bz7LC1qYeNP/symTlSh6JVDiX2/zjm2qc+DU9IbThzRZZTrwSuniml26l6ZqF4IbPm9heKcGkZb64uShpzpdvs7olRuvFJOm/EC5yO+jV4ObckejwISrT5Y2JShjOke5IraE/6FBXtgXxDYW4IU1DGdU31n0AIceuWabnY3xgnfDtHFo+18lYf4taJyQSYnH844JbNRQmLtyJ7hnUWT0fXRQeo+hAGAS0mbURrSamz90IuivA7qE1a4owlZGYq8Z2MMkX0zCCuZHs8fh9chSxXphElAQMb0nZeDQPytjVc903cPRxaHQkWJBiK7LgIb7qems+TrzEKnpoPE0Jsyv4FiYm9+48cietNAs0MD5ThOSXbDb0XgLFNG287Gog0jw6whfqU8hjMvg4;4:WpPHJec45oGf8YmcexVB20EavzzJTfLuSrvOHP5VwT+HD1uy5WMtEB2S5HC/tTqZdEym6r/71RJKLudkHej8aOh0mmV0FLogAMayvipn3uv61ldy44Cn/to/6gB8qiuzz4UMqlojnJmUnHMIPAj/m4yovAvdj196GmK9hFKY1+YiSRj2a1vukOnF01TjHXx+SgXHyr5S55em+7fzGeBYhqdApS4gyie0HLIbIizkg/ss68aDj4MuhbcVuQ0g6Ejx X-Exchange-Antispam-Report-Test: UriScan:; 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)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123558100)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0158;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0158; X-Forefront-PRVS: 04599F3534 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(39860400002)(346002)(376002)(189002)(5423002)(199003)(377454003)(24454002)(68736007)(54356999)(50986999)(6916009)(2950100002)(229853002)(76176999)(6666003)(33646002)(77096006)(90366009)(6486002)(105586002)(106356001)(53936002)(2906002)(101416001)(4326008)(8676002)(31686004)(6246003)(81156014)(8936002)(50466002)(7736002)(81166006)(25786009)(93886005)(83506001)(478600001)(53546010)(189998001)(47776003)(54906003)(305945005)(23676002)(64126003)(316002)(36756003)(16576012)(6116002)(58126008)(3846002)(66066001)(86362001)(65956001)(65806001)(230700001)(65826007)(31696002)(5660300001)(97736004)(16526018);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0158;H:[10.236.136.62];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU4OzIzOisrTnZnRUNNS0drLzU3RXVZVlBnem15VFU4?= =?utf-8?B?WG5xaUlNY0w0TDV1d202MzM3RjhJQVVoWVZONlJuckg2ZW1qNDQyWUlqc21G?= =?utf-8?B?TitnZm9mN05UUmxyRlJOZVRMbDlhMzdPblpiOTJzanRRYitDTkdoZXBzRVRq?= =?utf-8?B?d0t1ZlZLQlh3UFU5NkQ3ZTRtd1RsQW03SElieTBUek91am1TV0hiMGRxcGVP?= =?utf-8?B?WmgvMjlrV053bTU3emJSek44VkUxKzkvdFo4SEx0QmlKUWVEYmhJMDltbEpT?= =?utf-8?B?S1BWVkxjemMyOE1EUzQ0SmU5QU44UGo4a01UdCtEYTdJMFpXeTlkMmVUQUJv?= =?utf-8?B?RFVLTC9VaVJ0WWRJQUNwY0Rwekk5MjY3VE5EVjZ0SGpVbUFwNlFHengvdUk0?= =?utf-8?B?VDljTkVaWldxTUxJUmp2NUt3WlZsWTRvRUpRdHJmcWpvaUorUlF0cHc5aHZj?= =?utf-8?B?cjNlUWx1TmtZYzhDOXJSazJEWkhsVG5NUzN1WmxacVVPenY1YjFsUGFtaWxU?= =?utf-8?B?TnlXYmpva2xjTEJrdmRuc0dtQkcyaldQejkybm1jbGtTWDBRTllXa2FHY0lv?= =?utf-8?B?cUVJN0NLdUxZWXN6andBUnVMN1RQbjR5Y0RraGtuWHVHZEU1Q3BWTDZ6N2tZ?= =?utf-8?B?aVU1S0dpUUZZSFNwVlJNUjhRbEd4cXUwVnNxNVlaWkI0QkpLOUViWHdSdnhU?= =?utf-8?B?MmQ5Z2hHbThBUUhybDBzSk9jczlVdmJTYS81K1dIajJ6czN1TDc2SmxtSXB5?= =?utf-8?B?RVNObmY3RU5qL0Qwem44RFJmNzUwenA0blZURGV3YjJKMFZxQ1oyL0w1YTVR?= =?utf-8?B?TGZ1anh3Vi8yaVRVaEpUSXJWRmxYWGZ6alpjQlkvSGlLcEc5U1htUVBldHpV?= =?utf-8?B?TnNPTHJ5QW5IeGRjZnVPdy9oZDE3MnFmM2ZYSlpudjJLVVpXdnpMa00rK0VF?= =?utf-8?B?b0wvSW0zaEFoVmZVSkZBLzFOQVE5UVJXUDhEOTE3MTBJUlljc0Z5LzFLRXpu?= =?utf-8?B?bytncUk4Uk5zZ2FKbGZpMFJ6MlNGaDlPaVErM3EyRExtL3A3WStvbWlqQmtM?= =?utf-8?B?Q1FoeWN0VW4xcEVRRGkvUWpzb05tZ000UFhEVC9EU2syYlRxWDhPZUEwSkxB?= =?utf-8?B?aEN0MWI2WUF0MmQ0TG96RDQrNVhsL1QrRURMZGgyaEVOSGhEbWd2eFZFanlB?= =?utf-8?B?ZjhhZ0lpWlpsUUZjNjBScWo0ZFZERGpvVDZuekliSXczTzVmT3lSRzZPUW9m?= =?utf-8?B?MWpGSWdaTG1lOE84ZEk3bHdENVpXS3ZJTmZKalZoQ2QvKysyZkU3M1ZGMSti?= =?utf-8?B?Y2VZQzdCVllya1pjTVRhTDdjbnlEWVd2VU94UkVQVHZRaUo5MEdwUXo4QU4x?= =?utf-8?B?dGFJT3JzWmlnVEhLeVFCOUJUdjNkNm5ySXVRVnBGUEZHbWVMNHg2UnhnMTNu?= =?utf-8?B?Q2tIL1YxV1pONnA5ZWpJUkFNNjJkWUlIVFB5bFJrQVJaT1R6ZjJxMHY4K3Vt?= =?utf-8?B?VEJVcGo1eWkwVUU0RDF4dVpzUGU5QTJQcEMyd2JIWnB3RkxZSGNnOTgxVmNs?= =?utf-8?B?Z1hmdFF0NWVJUTlsdE9VaUVCbEkyUFpqMS9qaUFtTmZiR1JkYkhVSEpQamFP?= =?utf-8?B?QnZNeE8yU3FETElNdDFNWG5CL2t0cGpPdmpLd0N0RkFMWXFsaXUvY0p3UFRy?= =?utf-8?B?cFphLzBjUHRJTVN2OE81MEErRW90OTZGOHZHMVFzU1ZGSU5rMk91dkRDMDY4?= =?utf-8?B?SjhmMGgzcTgrbVBqRm9MRUpnUEVPa0F5SFV4TXNLRVVud2hUMUNFekpKTHhu?= =?utf-8?B?Smo4MldSRmJ3Q1RVWHYwTzhGTFZTcTYremVuckQ2M1EzcHBra1M3emdGUTBQ?= =?utf-8?B?SzVabzVrNzJWVFM4eVNxK3RuLy91RlZxdTVwSGsxYlBhajlrbmdaVjEwc3Zv?= =?utf-8?Q?WsTOjdYrsIXqY42WnsKCVSJ2vkwCz0=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;6:Wm1EBQ2XvR2th2Vu8rXgDcntk27haP0wV4cPp4KC9FyZ1x+BubJQdjd7ZiC/kw+I2yfkpdYQUZc2mgQxMJ30V/2T2D0RnZib16Tf633oG71YDSuOBnWkjwYPhlsY0uazo9NHfGNz5v9ErJdfYPxZqUD9JYFTuLMtKRv4J9d2fyUx7ik3CRdLBgfV6TtMhr1CRBD+D4cgNi2S+5SKkNqgkwTamx8Jpbe5ldwweaPdw6h9BhGRBEd1ki8E8m7CW92iHxYUnfMNtyVemF3dK50RJeTs5rUxcUYuJroSF/8HHbQxzmvt1aIgq3lT9CzKckm+pi4u7B7rewdE/EOaOMlRpg==;5:RO9gspQE1ALp4UF/FavDZkGH61xqXR/ABrq8ymj5+jzqtjcta9Io6/1PlZErgidagH/GNmbJOT+Nj/XqnIB0x//uyyW9NkBEhCj5Rl4DMREe4qwDavn46Ivn5ybn3R8pgijXKNjB6SCTgHTzaWfYQpa5zgW9+6VexfG9x624lMc=;24:qXQ/PCv4cZ/cNBhJ/Nh5sBVncXrJwFh+3Q5D4D0YCT1B4x5kHDo9TL1jQsxDZRq38SQucChKiY6Pixa8M37tE3qQa2XOyZEH/fv+0GPisnA=;7:IhSt9BUXyWlVS7MhVphtDPn/Osy4Y/4EzVg38GGGywFkP868UCse7KLe0Sy6kF4egM7VKvB+RYxqEzckDXj7DAoLBAqco/Q89PpxD6hJVnonXCDZJoGzUHmT94GBg+sSX+C1deyCqVfSSwy9wYkYlbtsb0H8+GW/SEcRylp5lGghwYirZhZ1HF5bQvyLUgn2PZngLXvYy1sNB4gHPjuL5ACxrV0JdOPfcrWfik7PeN8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:AbItx9kjqHppoAFBnBoO/SLEi/7syd3R7R6o+4izdZeawN3mTnfw8jXcYJXB/QbtA70WZWN7LQLUt8DYQ/nNDMvPM84tP3L9KpxDJxzEVqjoNHj1Y6SdqwLIyGw4HCRl+Pizso/RkpZPCsTwz6/Z1tFOgdjslE9gTj2TQy6mJXZ09EGGftIdqVleGoD9wKc1hisSNG8665Fvl1XIFfmjicjqVhmeTRNwO4d6BULGxal4HiteJJrNMQ8xTyedj7eI X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2017 16:09:31.6694 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0158 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/13/2017 09:53 AM, Borislav Petkov wrote: ... > > - if (copy_from_user(data, (void __user *)(uintptr_t)uaddr, len)) > + if (copy_from_user(data, (void __user *)uaddr, len)) > goto e_free; IIRC, typecast was needed for i386 build, but now we have depends on X86_64 hence I will go ahead and remove the typecast from all other places. > > return data; > @@ -409,8 +409,7 @@ static int sev_ioctl_pek_cert_import(struct sev_issue_cmd *argp) > int ret, state, do_shutdown = 0; > void *pek_blob, *oca_blob; > > - if (copy_from_user(&input, (void __user *)(uintptr_t) argp->data, > - sizeof(struct sev_user_data_pek_cert_import))) > + if (copy_from_user(&input, (void __user *)argp->data, sizeof(input))) > return -EFAULT; > > data = kzalloc(sizeof(*data), GFP_KERNEL); > @@ -456,10 +455,10 @@ static int sev_ioctl_pek_cert_import(struct sev_issue_cmd *argp) > do_shutdown = 1; > } > > - ret = sev_handle_cmd(SEV_CMD_PEK_CERT_IMPORT, data, &argp->error); > + ret = sev_do_cmd(SEV_CMD_PEK_CERT_IMPORT, data, &argp->error); > > if (do_shutdown) > - sev_handle_cmd(SEV_CMD_SHUTDOWN, 0, NULL); > + sev_do_cmd(SEV_CMD_SHUTDOWN, 0, NULL); > > e_free_oca: > kfree(oca_blob); > @@ -503,14 +502,14 @@ static long sev_ioctl(struct file *file, unsigned int ioctl, unsigned long arg) > ret = sev_ioctl_pdh_gen(&input); > break; > > - case SEV_PEK_CSR: { > + case SEV_PEK_CSR: > ret = sev_ioctl_pek_csr(&input); > break; > - } > - case SEV_PEK_CERT_IMPORT: { > + > + case SEV_PEK_CERT_IMPORT: > ret = sev_ioctl_pek_cert_import(&input); > break; > - } > + > default: > ret = -EINVAL; > goto out; >