From patchwork Wed Jul 3 19:21:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary R Hook X-Patchwork-Id: 11030239 X-Patchwork-Delegate: herbert@gondor.apana.org.au Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C20BA14F6 for ; Wed, 3 Jul 2019 19:21:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B0B7D2896F for ; Wed, 3 Jul 2019 19:21:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A2A7C28A07; Wed, 3 Jul 2019 19:21:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EF1AA2896F for ; Wed, 3 Jul 2019 19:21:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726581AbfGCTVa (ORCPT ); Wed, 3 Jul 2019 15:21:30 -0400 Received: from mail-eopbgr780087.outbound.protection.outlook.com ([40.107.78.87]:52947 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726574AbfGCTV3 (ORCPT ); Wed, 3 Jul 2019 15:21:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mRLCO77h1cMvQNM5tbxFm5MfbWmMMqQ1NtARSUbhGfs=; b=S9PK/QNp8T47QP2udO9t8lOevusgYhfY+mLVACRSakF21AGXUVfUhEtKWy0vsUW/IJp7MVHyDBU817U0LQAugeuCbyWQfIs5pnOk6Mh83L1ELaoKJEWRKLjjEpdBscTyJoPu6qK9iWihyOK8pe7HGc/bpRZTpxyct2j/NQc1Dqo= Received: from DM5PR12MB1449.namprd12.prod.outlook.com (10.172.40.14) by DM5PR12MB2533.namprd12.prod.outlook.com (52.132.141.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2052.16; Wed, 3 Jul 2019 19:21:26 +0000 Received: from DM5PR12MB1449.namprd12.prod.outlook.com ([fe80::180c:ff0c:37e6:a482]) by DM5PR12MB1449.namprd12.prod.outlook.com ([fe80::180c:ff0c:37e6:a482%10]) with mapi id 15.20.2032.019; Wed, 3 Jul 2019 19:21:26 +0000 From: "Hook, Gary" To: "linux-crypto@vger.kernel.org" CC: "Lendacky, Thomas" , "herbert@gondor.apana.org.au" , "davem@davemloft.net" Subject: [PATCH] crypto: ccp - memset structure fields to zero before reuse Thread-Topic: [PATCH] crypto: ccp - memset structure fields to zero before reuse Thread-Index: AQHVMdSCRv0gts48Gk+YiLK37j85MA== Date: Wed, 3 Jul 2019 19:21:26 +0000 Message-ID: <156218168473.3184.15319927087462863547.stgit@sosrh3.amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN4PR0201CA0065.namprd02.prod.outlook.com (2603:10b6:803:20::27) To DM5PR12MB1449.namprd12.prod.outlook.com (2603:10b6:4:10::14) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Gary.Hook@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.78.2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 52dc8ab7-6068-446e-dcba-08d6ffeba46f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:DM5PR12MB2533; x-ms-traffictypediagnostic: DM5PR12MB2533: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:397; x-forefront-prvs: 00872B689F x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(346002)(136003)(396003)(376002)(39860400002)(366004)(189003)(199004)(25786009)(66066001)(14444005)(256004)(4326008)(86362001)(305945005)(7736002)(26005)(68736007)(8936002)(2351001)(71200400001)(71190400001)(6916009)(6506007)(386003)(81156014)(81166006)(8676002)(52116002)(102836004)(99286004)(2906002)(72206003)(5640700003)(6512007)(6436002)(73956011)(2501003)(53936002)(6486002)(54906003)(6116002)(3846002)(103116003)(316002)(478600001)(66476007)(66556008)(64756008)(66946007)(66446008)(5660300002)(14454004)(476003)(486006)(186003);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB2533;H:DM5PR12MB1449.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: qmZave1VPnYI9bV/CqHXYJx/tnxyB6ebTJmMVgRqnYmOdCGbEK1mBY4O92VRxpYPfEtH0csiCdJRjpEaW5ljkHJ01+fq6dwZWO0cktkTM2NdB3nkom/dpltT7rjtZV5+Dl2IQ6WGtSrU4HpCbntLAe+JS8bCV+AazgzSzSnsGWVWoBGBVmYDTI9A4appW2rbXIedoiJvRlyA1T0KMBeqq9v5XuoprUClmP0iHwMu1O2dNoi2dTtJpC0dkkVc8RvXI0MmSUVynj6zMrtlNnOJGD0MeUql2SRgqH8TdKWh/adjYDcllFq8qaqrJjmkGlZf6bZeFQO+xWAFfixml/pk/h88dtnH9giD8CEXzlDRNMiLfCVtwZJTN2gQNM4h5u2JpEDwY4XInLeHRxee6hOc8b+PJjXv2hmPCBH0vXCBGQQ= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52dc8ab7-6068-446e-dcba-08d6ffeba46f X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2019 19:21:26.4959 (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: ghook@amd.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB2533 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The AES GCM function reuses an 'op' data structure, which members contain values that must be cleared for each (re)use. Fixes: 36cf515b9bbe ("crypto: ccp - Enable support for AES GCM on v5 CCPs") Signed-off-by: Gary R Hook --- drivers/crypto/ccp/ccp-ops.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c index b116d62991c6..695522b2ba7f 100644 --- a/drivers/crypto/ccp/ccp-ops.c +++ b/drivers/crypto/ccp/ccp-ops.c @@ -626,6 +626,7 @@ static int ccp_run_aes_gcm_cmd(struct ccp_cmd_queue *cmd_q, unsigned long long *final; unsigned int dm_offset; + unsigned int jobid; unsigned int ilen; bool in_place = true; /* Default value */ int ret; @@ -664,9 +665,11 @@ static int ccp_run_aes_gcm_cmd(struct ccp_cmd_queue *cmd_q, p_tag = scatterwalk_ffwd(sg_tag, p_inp, ilen); } + jobid = CCP_NEW_JOBID(cmd_q->ccp); + memset(&op, 0, sizeof(op)); op.cmd_q = cmd_q; - op.jobid = CCP_NEW_JOBID(cmd_q->ccp); + op.jobid = jobid; op.sb_key = cmd_q->sb_key; /* Pre-allocated */ op.sb_ctx = cmd_q->sb_ctx; /* Pre-allocated */ op.init = 1; @@ -817,6 +820,13 @@ static int ccp_run_aes_gcm_cmd(struct ccp_cmd_queue *cmd_q, final[0] = cpu_to_be64(aes->aad_len * 8); final[1] = cpu_to_be64(ilen * 8); + memset(&op, 0, sizeof(op)); + op.cmd_q = cmd_q; + op.jobid = jobid; + op.sb_key = cmd_q->sb_key; /* Pre-allocated */ + op.sb_ctx = cmd_q->sb_ctx; /* Pre-allocated */ + op.init = 1; + op.u.aes.type = aes->type; op.u.aes.mode = CCP_AES_MODE_GHASH; op.u.aes.action = CCP_AES_GHASHFINAL; op.src.type = CCP_MEMTYPE_SYSTEM;