From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751524AbdJWMPn (ORCPT ); Mon, 23 Oct 2017 08:15:43 -0400 Received: from mail-sn1nam02on0073.outbound.protection.outlook.com ([104.47.36.73]:25776 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751116AbdJWMPk (ORCPT ); Mon, 23 Oct 2017 08:15:40 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Cc: brijesh.singh@amd.com, kvm@vger.kernel.org, Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Herbert Xu , Gary Hook , Tom Lendacky , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [Part2 PATCH v6 16/38] crypto: ccp: Implement SEV_PEK_GEN ioctl command To: Borislav Petkov References: <20171020023413.122280-1-brijesh.singh@amd.com> <20171020023413.122280-17-brijesh.singh@amd.com> <20171023093240.GC19523@nazgul.tnic> From: Brijesh Singh Message-ID: Date: Mon, 23 Oct 2017 07:15:30 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171023093240.GC19523@nazgul.tnic> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Originating-IP: [70.112.153.56] X-ClientProxiedBy: MWHPR14CA0018.namprd14.prod.outlook.com (10.173.227.28) To BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: befad070-e64a-43ed-7524-08d51a0fc4a0 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199);SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;3:fIfMj9rQDzcbNUD8vSq/jU0Wv1XtQ4tN2MuCSBGJhbnfDxAEu52WywyMIdvhRSSmR0a7/XwhYDmX89os4V7iTEIWM0EpOOWJWxrf+7ThAuaI9YYvQRgelK+Go2vv3GhbE/HZicz4pr0glPMt30tG5REHAMG3p2mB0/U8VJi/2GJ9IDVhdTPkxnr9cgRx8E5f8x10g5BmSYmP9P6uSM7zBYgQd0zRDYhCPWDl2q0r3zX9IxtoxiI8p0lZ1lVzJtKP;25:8snvdS4c8+IO5QQ0oRXMyAfH+jMEiq+qDP1KTTOGhcgr4X6xbFFL2Cm2o8/w903lR1N2EnKidEQoNd423hIZBw8KWeCtUJLA9EgLmJLpVMgwNKOHRr5RdW5AT9VKXW9wrUFqvHP5hLRi+g3/Q5C2y2J6pNybX5QOM4EyaDrVYW+DMA3x9N2HGxYot6doFn68RUz4Mil5OIVBWcb08fTi31pnKsb2LW/kwkxD5tU3SYJnOXA4yZx4HE6Pg/CKy7baEnUSNHiFDpIRTPXuoq6iilnBBekz22QmMEj0+gdEjlayb5L/McmHclAMtubESn2S3fTOT+wwrpUOWLiQe4uWfQ==;31:7qKDMlj4NQKFWl9UoiFvUp/CyXS2V6CW/CMrYCYVIrWGDLlqRG87t+hun+q/clrfXi8DAWtfUZ+yLGQo2vfpscD+TIezcJq7E4SuZ2//BgvUMHCD49TWVAYA8yZUabYwzvVpij3BLxgNBJS/45mhUlEIn6kgU2aIBJlyY2Su7bWncNNC6TcKo/7vt8ZUC3m9vH2l82B9YvYhVVoaLb717NA0lxyRgnhjZsb0TicwizQ= X-MS-TrafficTypeDiagnostic: BY2PR12MB0145: X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;20:f+tUofhSYaL9KJH04z+Xy8coEszP+gaRtZQwF1eYg0VqHphDhuNvcXyEeuUwL/acmdFOW23k9rBWMOXfpJV1IgQUoBEO0MW5birYJhAAqIrtnq39QS0EjzzpmE2SQ+JU20a2XdGxLZiAfO5eMcgrYF4Oy+kr0Fz8xosD5mMqVcG7u2P9Cbk5yxShb8IEjVlznwhmir5WheNNbAbhamQMJdKUfMckTR7Kt9xJEAqricsL3CQ0DXHTyPGkh8/fDGSaCS5OQegtdkZZQs/MI6/1f9OKzzFooJKR4MsGpnlnRdTBamokhRVFZUNTasH4yL9PMHFGWAYM4feseY0X9IUA8wLVDbvBSpGpRa6yRIh4RrdgbMDrYsff4Wc6IPs8kGuga4s4GxS6BPGtLpCqBm6HDtZRv21zMXlo177EPSqQC5Eaa6fmFV7oeqhHTOr/e+GCVAdOg6gg9YPdufKfHyMwckLwVZ1L+WfewXBCk/zC4+wldTwzivj3R4blI/GfnlXf;4:tR1Qd395+ipO0lhlbfg3MQcqA9AsndlC5ogdrrBJUpX4Urx/htOUiyWHjvpZKnqkk/fg8D+/03gShsqmseZQaK5tsrwSyNHlWVH5Bxa9KEPI/Y+MXejNKnGpHu4uRmoxV585T2jmx5o+oNUZvAZEWHvN5zQLxEXyVDACQOuOPxlFI/iQ9B31c0ZhrkTJgiB94LNDwGa27wGvNU85Sr7BwESFG+Avn4w0e1Vq5iAfBrIk47Z7CYtlbJ3tmkbJXWU5 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)(5005006)(8121501046)(3002001)(3231020)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123564025)(20161123558100)(20161123560025)(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: 046985391D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(39860400002)(376002)(24454002)(189002)(199003)(4326008)(6666003)(6486002)(8676002)(31696002)(229853002)(101416001)(25786009)(478600001)(2906002)(86362001)(6512007)(53936002)(33646002)(6506006)(81166006)(6246003)(36756003)(53546010)(31686004)(65806001)(23676002)(47776003)(81156014)(65956001)(54906003)(8936002)(66066001)(16526018)(50466002)(7736002)(83506002)(54356999)(50986999)(316002)(6916009)(3846002)(2870700001)(305945005)(105586002)(6116002)(106356001)(97736004)(64126003)(68736007)(5660300001)(65826007)(189998001)(76176999)(2950100002)(58126008);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR12MB0145;H:Brijeshs-MacBook-Pro.local;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjEyTUIwMTQ1OzIzOlQvU3RHMC9MZUppNEhReFY1NkRoRis0amhs?= =?utf-8?B?a0pKb1A5VjBaSFJBU3JaT1lQd3BpRXkzdnJUcXJ2eUhmVGlUOXVSYjJzdXpz?= =?utf-8?B?TEJIRS9nWUM2RktaMGNBRm8rVHZHZlhrS1EyZ1lDUnl5UjVsYXJwckdpMG50?= =?utf-8?B?Zmdvd2h6M250d3dQbjdMYmpKV3BJUnhPRDAvM1kza1JZMy9uRS9DbmgrUFMr?= =?utf-8?B?MWdhNWhhSmJ3Z1NtN2wzOWJjMTNZVDB3YXhBZVBWTW1OeFpLR00xNjRsbC84?= =?utf-8?B?L0NuMmllUTRBY0Nzby9hYnpjdFZXclgvSWJQdEFvcGdoVzJWVlZtL1ZTMlht?= =?utf-8?B?Ync4K2lQaEJyMmJCdmZhMmdURVo2LzBEc2x0T09WQ0dnbTFZalRTZWdCQWRW?= =?utf-8?B?SVVoNkt2RVJnT0ZRblNEam43MEpIZHdaOTBCR3cwZ1NOYWdEN2dPdnFVdFRG?= =?utf-8?B?YU5sNTRyaDNveVpnSkR4RSt2dXhZUk9YVmJpMGIrNWd6UjNDaG90Zjd4Y2tq?= =?utf-8?B?dmo0bmpvZW9VZVpwTGhWd2FwZUR3b2s0UWthYTJiVU5yalp0VGVyZUpJeG0y?= =?utf-8?B?Wmp2TDhUaHMxMHFkTHg0cVJENXN0ZW96ZmRPQUtieEdFV2F3MXVCMHF0MC9i?= =?utf-8?B?Smc3MXNKMEtkSmxqN01NaUxQdmVEQU1CR0RSYTlDank2ZXVkL1k4MUtka0NT?= =?utf-8?B?a1RLRTBkTjJGcVNQZEppbDhKUExMak1PMnZ2bVVyUWhDSk52YzE0cG1wUndE?= =?utf-8?B?TEh3RkhGNmVlZ1RmNkE2MnJZRkdYN1dkU1AzeFJkenF5dERxODVmak5QTnNB?= =?utf-8?B?UTh2SFJ5SHcxdk1aZER2UGxGT0tHcWNsSmxucnVMeHlIUFNxc1I0cDh3VUll?= =?utf-8?B?QTdiM3h6dkZnTHVRQS83NzFWc0pxMXZrSG1zUnI2TUFQNkRHTmZkZmF6Uk1N?= =?utf-8?B?RWJEbFE4c0dWZEN5Ny9rd0pidUtmVVBWa295cytQb3lORWVkOUtMOFdIRXdY?= =?utf-8?B?QW9iK3B6T01wbkI5djBmdC9SaURiWkp6VTV1WlA0QlBrYjB5blN6SEF4TE9h?= =?utf-8?B?Z3loaEIwbFNsNzUzSWVCa1A1RE8xUEowdEZaZE5CNm83NGtLUVplRDBZWE9x?= =?utf-8?B?eE9PdDJuZGJCRkxzSVRZYjJBMUg2dDdKbFJCTW5lN2k4SHExNUx3dGZYN1Nz?= =?utf-8?B?YmxhMW1IS1laRkxPUUE3bm8wdlVnbGNNdTQ0T2FNaXpEWDlHUWZRWm1uRndY?= =?utf-8?B?OWtRUEFIU0NXZkEwQU5HSU41WTRVL0dMUWhEemVNdE02N01JZWpuaVk1ZkhD?= =?utf-8?B?aGZrTktCZmNlL2o2Z0FCalNoNG03TlpTYVJxdndGMkFYQ3dETlN1RHFQNHBq?= =?utf-8?B?VjNoaGhHdG9NMnAvZG5MYjRTV1p4alhITWVoUzBVTDBJSy95Yk1OaEQ0MHdr?= =?utf-8?B?dWs1MXNVbWpHMThQaW5hem82ekZCZEpSTFRsc1JOdkU3TXFiUmxJNUlJL1dG?= =?utf-8?B?c2lGeGR1STRndXVOTlBjTWFPVGFLUkdpeTFoMkZsamE4TmQ2dUd3TlRBUGRW?= =?utf-8?B?d0pSZEpUQjJjN2RETDkrbjNmMlJoeEJiMUNQTmdmclU5WVRkTkRyZVJkNHNY?= =?utf-8?B?ZUhjczlaU3lFbTJnZmpZSlF1SkVlRUMxeDVudzJmV3NvWFp6WkthaUpMckd0?= =?utf-8?B?WmFEUWljcHMxYVhiSlJKVnorNlU5L0xESWFhdzdkWS9FN2lpYUF5RC94ZlBa?= =?utf-8?B?NTZaSkZGVVM2RUdWMmt3TTl2UWhPZ3R4aDU1YzdRT2dBaGlaMGVncE1YL2Zq?= =?utf-8?Q?t+eZVfp1h6yJS?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;6:6BEEodDFdQSGHu1aMtDebqqqKnJvShtjc62GpvaQI7a5+hRsQoFB1XuDz1hl5dP6ln4uj9CuRdiMN++ba7ON2VHAxRQTjA3kdqlzEaE5CtQORKCNp6nSh2/o8ixtvo455MADpA9o4r9yDb+GRTo3qGWFdiNtow48idDv2ZPNXh9OBuIhSkk/uXaYSupvv7oJhquoCJEkxdAAYPRYwQ/mccPqS9V6WIXKA8mi7n4OBWEfkunz65/+s6n6mHZ3bkfZyqidpPr7fybzaYdKGNnozIcHzTMWdtpRc1YqpHrJ0JXlEwYZkKViab5sRJuTQuGEPeZ7E3BrG6U2Abo4/+CRcA==;5:KdeZtkUmkVUlBvOaEun2tdo73I28wjX6woMelNbQ7tN38C6TxnOKTXwmcwX7XbYnXnTIyuHpwvdhGHqmgSAfg4uFInazHGfbUzXC18pF+OuYxWoS2QKx4va3aUN/GW1Eg4vEXTfZjfHicHkt/9OMTg==;24:g87Rq5ZBS7eCPypoY7V+jIFW78ILGHsbu98mfLnVJC3FzUCCT/mzrS2bWo+63hcthOpM5gDWvM8DFsyLIEeE6sc+rYgBli9fe1EHAwfoXzw=;7:QPwmIGOBKebpcnHOeR9dweWTyv9Z6+9/9bYA27KAwQ8HjZNNGk3tHY9YrhFe0O+7+cEg9+z8CQGcG9upLgBPwZq6QB4vUonjN+Q+jrAlG+oefy13sFYSxiaC9muqcWjHjn2FDgnsbDHVIFvQqAiFJ9+N3a1aSJOSgNIch0B1HuocyRwhDeWEEzbnqdB5rcf/6oHfb/FHGvaHo4YVwTus3uhHfZqgHyfJzp8aKe/fyR4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;20:BEM2PQgtc0aqBcATwqoQYfzHS6geXyULB57nq2DNt5d2v/GxOxSo+3yY2EIXXXmAl2rwoe8cRIMOetSF5gFpXdBIvNDZiSnRRIBWOBCt8BnFqf3HPrqYdgOWGdwqnj5hQmHGndIbSRtZ09vNoBLdNe9qQhPy1M/TxNxdnQ7Yj7h1l97Kes7QKG7NWulSCltqwsoMwt5QzCOsF4bVfbjndOqcwWWOd+XiTeA7R2pl7dUdJXVJWVrWZLKfKKuGMAoQ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2017 12:15:35.5193 (UTC) 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 On 10/23/17 4:32 AM, Borislav Petkov wrote: ... >> +static int sev_ioctl_do_pek_pdh_gen(int cmd, struct sev_issue_cmd *argp) >> +{ >> + int ret, err; >> + >> + ret = sev_platform_init(NULL, &argp->error); >> + if (ret) >> + return ret; >> + >> + ret = sev_do_cmd(cmd, 0, &argp->error); > So this ret value gets potentially overwritten here. You need > to either handle the case properly when sev_do_cmd() fails and > sev_platform_shutdown() gets to issue SEV_CMD_SHUTDOWN (i.e., when it > gets overwritten), or not write into ret at all by initializing it to 0 > at function entry. > I am not sure if I am able to understand your feedback. The sev_platform_shutdown() is called unconditionally. 1) if sev_do_cmd() fails and sev_platform_shutdown() was success then 'ret' will contain theĀ  error code from sev_do_cmd(). 2) if sev_do_cmd() was success but sev_platform_shutdown() fails then 'ret' will contain the error code from sev_platform_shutdown() 3) if both sev_do_cmd() and sev_platform_shutdown() fails then 'ret' will contain error code from the sev_platform_shutdown().