Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp2492647pxb; Fri, 8 Oct 2021 08:53:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyEFlCdgtfT2Us/HWH3/Eiq7571BAKaF7M5K2L8gpqyC26uorvV804eIsYYEJHj/IX7Hvb5 X-Received: by 2002:a17:90a:1c96:: with SMTP id t22mr12728617pjt.20.1633708397227; Fri, 08 Oct 2021 08:53:17 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1633708397; cv=pass; d=google.com; s=arc-20160816; b=mXBNilgRGCA8y6VVY70kUCiOr/tRpR/33UdLSSPV2c64VtPLhyPxm3smSC+Ox+Wey0 iVipCBaX2/xRfO3+W/V/6ThTWJaT8ODY74Lb8oq1JeQpvB0WZbeS/0XW7NeW8UuPOD3f /UHsDfVXdAxdnAt+jF/zGZ5LAzBI19x7oZqwzz1OPZejtIwubh03v3Rb9JxB3TClAgWH w5eLDMPJRRj+cGkjqTFIED+N1B4jxKdD+oQV+PwwMmdBVGhhoMYZz+hoYkSufqmuXkea Ti76KBZqFh1mDqvDFbl30wgJQA8IHeeu6UUFHcEAAe/+NaRLkASsDfOT0UyfUQaABIQt EXLA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-language :content-transfer-encoding:in-reply-to:user-agent:date:message-id :from:references:to:subject:cc:dkim-signature; bh=S0fkFf+XO+RzFz5mciVh36hckAuP181cjZV/rhjkm8E=; b=HGSxRpLij9lSgaYqivFqaPIqp5KsGpYl7eFZXZQoVwXAHEM4VLmMAS+9eOB4rUHTtc Jd+8sagdhZ+O15Ag+uZj7pm7ahAGFnQUa3Qb69nt/o8zJD7CsZA+mTk0DkdfMI9aGQCL +NWLVBVdKqgXm5ozx0CWD43vzrd2pt1LJjpbYbEn/TCHpsTCAJdG3xEOIoL20Get/iUW pZNT2wIoRObkMBqRPyVTuFLKxSeEPNAICvFSVwXJiPPKspCXD7hBsIg+sLXbJaxqGeix iazYiI0eyiuuW7XmxJymBdwDHS6GCSKOdmQniN+vYeI2m7zXPxnhVmCKQdZN3bT+Rkba JzMA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=JNLtdCxS; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o2si11504631pfh.133.2021.10.08.08.53.03; Fri, 08 Oct 2021 08:53:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=JNLtdCxS; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243145AbhJHPyI (ORCPT + 99 others); Fri, 8 Oct 2021 11:54:08 -0400 Received: from mail-dm6nam10on2064.outbound.protection.outlook.com ([40.107.93.64]:62333 "EHLO NAM10-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S243240AbhJHPyF (ORCPT ); Fri, 8 Oct 2021 11:54:05 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eDaU8CAl4uZxOioKrREpxkjyIERNGivdzFXo0pesJNRvdUANkSgPJzXlifMy2G8FDFPmf9vieUldk9V9G7XXZncfQUdLAstMNLavHIhk0QDmcgBdzA0AlyWfwQmJCO2Gv1PJZP7xSU+/kMo2/EfHgkjPenN9RGkCzFz4AOiwgUR99pvTRTSKLjOhlzT1x8E7uR3l8KFhYxDpaxPMNxuJNkgH6lNtG/T9fFqdrt9K8UCQVxD/rn2aIwfTGz7m9CM/K+hl2tljDBMv4AKQXV927nZD8gUFISX1IrzaLP8gVx5b2lwmtuneL4IcImlzk626YLKGfMQ+Qgtlj+d9UJKvUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=S0fkFf+XO+RzFz5mciVh36hckAuP181cjZV/rhjkm8E=; b=A+eRk9VxVUwBxQMyU4/09roqnzq3hETQdhrkV5ZiQ556efnjmV21d/2L+QjVtfVtxkWijmwQTQvxFWp6J2gzow3vTja6lJS8efyqmVe3wEMqz+deFPLH0BBhGSPU6YqD/nWqNhoNEW/Biu8Z04232HxSufiuBGQyx0L8DXMN5tlN+wlkqlvjyh8Uo9KQShm80GpWW20uZc1h5acMWpRe9oW+fAwgRMMcxFBMIvpVzum52DDJGRn9JBzQf4UPpcgjosqNY7hGqLVoEQGgRGcy6qM33872Y5KwSS7X2Vunsb931FNJxECYQMUamhpv740XG96HsHhNo/U87uNTI11OwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S0fkFf+XO+RzFz5mciVh36hckAuP181cjZV/rhjkm8E=; b=JNLtdCxSURXFLtWqmHclJQ6Rh3mvPAHY/vbtPSzsj8k7MUECxH5XwJyDGfNrb2Q+fcuzpBarMifwtBHaEomjF20aLcuvzH9GziTcZ0OCdUW3HT0snD1mu0eqkhygZiHJcuFt2nvdgKxYiHBhNPN7K1/LFp9BjbbgO1yel0pHn9A= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) by SN6PR12MB2688.namprd12.prod.outlook.com (2603:10b6:805:6f::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15; Fri, 8 Oct 2021 15:52:08 +0000 Received: from SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::78b7:7336:d363:9be3]) by SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::78b7:7336:d363:9be3%6]) with mapi id 15.20.4587.022; Fri, 8 Oct 2021 15:52:08 +0000 Cc: brijesh.singh@amd.com, Marc Orr , Joerg Roedel , Herbert Xu , David Rientjes , John Allen , "David S. Miller" , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] crypto: ccp - Consolidate sev INIT logic To: Peter Gonda , thomas.lendacky@amd.com References: <20211005195213.2905030-1-pgonda@google.com> From: Brijesh Singh Message-ID: Date: Fri, 8 Oct 2021 10:52:05 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 In-Reply-To: <20211005195213.2905030-1-pgonda@google.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-ClientProxiedBy: SA0PR11CA0166.namprd11.prod.outlook.com (2603:10b6:806:1bb::21) To SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) MIME-Version: 1.0 Received: from Brijeshs-MacBook-Pro.local (165.204.77.11) by SA0PR11CA0166.namprd11.prod.outlook.com (2603:10b6:806:1bb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15 via Frontend Transport; Fri, 8 Oct 2021 15:52:07 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8e9590b0-59bb-4259-fe4b-08d98a73958b X-MS-TrafficTypeDiagnostic: SN6PR12MB2688: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3383; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wS8ChNzse+zaKI7LN7tVGAppHGeybkV1OKQDgf6reK0R1FwoRGYOFIE5I4YkAsS929+AfiGUjPXEpFKuL7FareQEj/rrK6xfWFFgx86zAzst864HUif82lyMD1E1a72Axt8dXkaJa3KdHjLu537YAQLHVBax8dBtUNS2LfeH48x7RpSTw4paA6j25aS++/doOBbAMhkW5yiAaUxJuw8LcE0cSEmO4xEAAfRzZusrqewTU2Nrxx5MfjbPIg9J2+Md8Puulr6pcEjpS33u08DXl1cRyp2GxgTglMVTR1+I/UIEOMV3I4h0rQy/XD8zQ4e4sbgKBTObyU9leyUfy3b5J38+fJjjmaD++PQ+obeVYZnfIzpVNsVg+CNI3XzRixnhdFbDsz8wwc8EE23gJEw9BO7FGdDywD5Vck/mPiB7VnalaXsYW1G9qf4dTxJJ8KDDG6AjJHsl/YrPZD1V5ZSoeu2t8AGBone6MK5oyqyfs+K3SEdkFNHsJXpfbS/sKeFqExiszuPc3/4sytD1OmEnc0y1Z51RCYhpaMzJQQnCbOpNNLJdKC8AtAPM+UHQ0tdy69vh3K1vW4kNgVS5Hvw8I4xa4GvQ3Ij47wp3qTxs/kl1M3mgbXyPmidX0k8xDfx2F+rg5ET3CohqojuN+QZBmIx1L1f5tcwKqgqGnvjeEajWf+Eulcz1sh2K3fB33mZgMLMv/AoJ2WkZ3VhZywZDi6ZzRlfz5WjK4OqxxomMYja8pmIP+fkkCow6jqmbPxRf X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2718.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6636002)(8676002)(5660300002)(8936002)(4326008)(83380400001)(508600001)(36756003)(26005)(44832011)(66556008)(31686004)(66476007)(53546011)(6506007)(316002)(6486002)(2616005)(66946007)(38100700002)(186003)(6512007)(86362001)(956004)(31696002)(54906003)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RzBQQnFtYW16cmJMVkFuZE9JRjRNM1doOXVndGQ2azlicXpGQ2VWdEE5Uks5?= =?utf-8?B?UFRGaitvV1h5Mm9JbU01VzRCQUxSWldTUU1DL1l5SkpZK0sxaEsyLzhnMzJK?= =?utf-8?B?M3RJSjMvVy8wVk1XeEsvMkFmQi94aC9xTkVNOFF4ODVhY2NlMzNsaWI3ZGlS?= =?utf-8?B?aTM4UXJkQStSRk0vNUJwYlBFK0NDWXJFY1hHbVhIcTM1NUFDQXp1TlNKMmRS?= =?utf-8?B?czU0ZHFTWFBUWnNyQjgxYWhPdkFIemtWRmhyNy9FUkYzWmljRGlpMTRCMVlQ?= =?utf-8?B?QlpIWCtjTDBXK2UrV01xcXhsREE4SFdhMVA2N2hOY0lUbXVHRFpYa2ZnU0s3?= =?utf-8?B?aUJXRmpQcVVkY1IrZXkvcVV5eDBMUExwNFF1U1VGSG5yNnRxUlN5NWVqMSt1?= =?utf-8?B?TjVKdXFjTHlzRWNXUHJ4dWtMU1Y3SklxZFJBTjlyUGVwMHNxK3ZZZzFhazgr?= =?utf-8?B?WExRMSs1c0U4TEFSNWY1YlFQNHJLTFB6S1hlU0xIeC9yM1BOcjYvYmdMNDZU?= =?utf-8?B?dHNzV09WUFdzcW95bWhDZ2RtVDJkSjZKTURwYmI4SytUVFFTTHdCSUdVWVRx?= =?utf-8?B?MjN5K0QrdEpyODZiV29vNGFRTEwrd09hMWtjWDZwWWFOWFpRUTFGNDBkMlhh?= =?utf-8?B?cmNyMDJ5SUh6Rmpxemx6dytxbzdRTVcwMnZIV3JETzNvM2V5V2NCb3FzZ1R5?= =?utf-8?B?bjVLbFFjaWxZN0RXRWJLd2VEZE5IWktBNkZFUjRRc1ppdms2MVlHOTFJckln?= =?utf-8?B?UG5ySTYzcHBJUEdseDhJRVdrY3kxQ2dUQzl6NnF3SkM5OWpDNk1jQnY5R3FG?= =?utf-8?B?b3BpdnVHTWNFUTJXZDQzeGlwWFJKakpoclhyNzB3c0tUNFBHckdUbEpYaW5B?= =?utf-8?B?bEdKS0tvUGlzL0gwTHQ1bkpBTU9qT1JmdW54Si9MZ0NsODRnWkRpNFJiMzlw?= =?utf-8?B?Vkh6YnFCM2hzNGl1WXdFMWVkazFrN2k1WFMyQUQ5WHFBdGpCRnA1Nm9ZUkZJ?= =?utf-8?B?cmJQRGFIOE1BY3k5YmRWVnRBdk9zc2EyR3ZVbFBsaWhLRkphdmVhTTFDL3Ar?= =?utf-8?B?Sng4L3ZLekROaFhHaGxuTWxxS1VOWXlabFEyQk9KL3NqNyt2My81NVBKRS9N?= =?utf-8?B?aExjWGtXcUt3V2pHQU9jSGRVZ0tnRW1TSU51MTU0MXlGNEN4R01pZm9TQXI5?= =?utf-8?B?clpSZklnaFh2ZmsyMVA1MHJTdGJFeUF3T1RhZk5vTm16ZStubDYrSVdydFR5?= =?utf-8?B?VUJnZmhicTlyOWNaT2VqdndCNFRMM0FKR0UwWUhmWmNuYnN0emJ6TktGNmZu?= =?utf-8?B?Tml3UFFJclJaejRTNThrSFA1VGtCNmtaQlE3RWpxWUY3YzM3VDlRMXdrdUZz?= =?utf-8?B?SnVpaGZuN1g0KzdIQTBESGxWNWcwZDhnR1QzMmRkNEdLb1dFK2VWbGV4UkVN?= =?utf-8?B?MlQ3dmtaQ2drc1BqcHJ0THh3YnVxWFVZam5BZmU3UG5lTE82d2ZGNlB6WFFF?= =?utf-8?B?K2poejk4YjlwQ25kaXgxTHhrQVo4U1dGbEtIN0UzQmRndVpvZUFRRTArRTNS?= =?utf-8?B?MkFQMktlanZ1UzdQVVh0VktaVHlmRlphMjFWSVFNclo4YkFLVFptWWx2cHJT?= =?utf-8?B?c3RqRCtOVjNyWmtrZWZERHQwdE00ekw4SWxQVEtsNTNOaFo1MDBHM2E3UEFo?= =?utf-8?B?NEtSTGtTblNMTCtDb0c2c3V4VHI0TDdoZFZicW1GT0R0cXhTVEU4eTN4Ni84?= =?utf-8?Q?J+9gbYAc1jrYCa6l+ExIx14oa0EveU6TlWEhqMx?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e9590b0-59bb-4259-fe4b-08d98a73958b X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2718.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2021 15:52:08.6126 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4VK/2KY5wtgqxxz5slpVVNOIaHRMa2cCmDA9NR9SCyO7iXhxLxC4YbBacy6Mxwd6udRzRc9W0Jfa8C0oEFfEWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR12MB2688 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/5/21 12:52 PM, Peter Gonda wrote: > > +static int sev_init_if_required(int cmd_id, bool writable, > + struct sev_issue_cmd *argp) > +{ > + struct sev_device *sev = psp_master->sev_data; > + > + lockdep_assert_held(&sev_cmd_mutex); > + > + if (!writable) > + return -EPERM; > + > + if (cmd_id == SEV_FACTORY_RESET || cmd_id == SEV_PLATFORM_STATUS || > + cmd_id == SEV_GET_ID || cmd_id == SEV_GET_ID2) > + return 0; > + > + if (sev->state == SEV_STATE_UNINIT) > + return __sev_platform_init_locked(&argp->error); > + > + return 0; > +} > + > static long sev_ioctl(struct file *file, unsigned int ioctl, unsigned long arg) > { > void __user *argp = (void __user *)arg; > @@ -840,8 +825,11 @@ static long sev_ioctl(struct file *file, unsigned int ioctl, unsigned long arg) > > mutex_lock(&sev_cmd_mutex); > > - switch (input.cmd) { > + ret = sev_init_if_required(input.cmd, writable, &input); > + if (ret) > + goto copy_out; We need to call this function only for the SEV commands (i.e input.cmd >=0 && input.cmd <= SEV_GET_ID2). Otherwise a invalid command may trigger SEV_INIT. e.g below sequence: 1) SEV_FACTORY_RESET   // this will transition the fw to UNINIT state. 2)    // since fw was in uninit this invalid command will initialize the fw and then later switch will fail. thanks