From patchwork Mon Dec 30 19:07:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Sebastian, Selwin" X-Patchwork-Id: 64159 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5822AA04F2; Mon, 30 Dec 2019 14:38:08 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D28631C11A; Mon, 30 Dec 2019 14:38:06 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2053.outbound.protection.outlook.com [40.107.92.53]) by dpdk.org (Postfix) with ESMTP id 464481C117 for ; Mon, 30 Dec 2019 14:38:06 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CTNAvCjZf8v1rF+POzFVBa/Kmz+5ES6MJ0ThqIvyz6mXkiHnMBou0VpYYTkMgQsrCpqwah4BbJlydcq14xbd91UMGT7ccUYNk21Jmz087qTxK8dzj3hunPjqQe3vi10xvNkw1D/dc/eEGSAdaBf2OBDyxRxjtnWUBaq8zF/b5H1JvPQ6QstlcnW5j6qetzW8wX7/XHhdnsji2naqsC8hOS99e+JvWuPB/yMc+TZfnHp2QWKlKCf9e6hzoQsp8KbEt0rDr0pKoL2stRTfXP4LoIGHVlHnRjiKNRYup4catEJnx38X5AHruAWF5oeqfw16/ipk5fh5Y3HxpL6fm6Xxew== 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-SenderADCheck; bh=ujzvTbU3IidSo9XrxSlcIHZkyPnuXEjYVa2wQpVb7N4=; b=bTXSDp476kcmOwPzUSyrDc+PfSt1hyXFMALHjDgz9uh3nQp3vK6CNg2OZBJ2I7bzEdpF2tamGVQai9NundPSt6B2+lVHgG0SyhxEGkRXLIhkOAFU1/b2lZpMQgiyePg2s+2SXSpD7vG3va2iSuF8zU5KmeP0RNFm/0qdg3rl1MYY6egCNW9tbw3rQRJ47HENbrmb6+ARb9mlbiX0SIuVs4sbRHEZf5d3V4HtGTTCVhnSq71ucdmPYfXYEzd4GvsGAL8Fp79o0ic17n/FpPsI3LvpAqgGErfQO7loMbF2VjACnxB/aTHiUi9aMJOj/lfkd9aBFYA3gui62tPG1ZFkJA== 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=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ujzvTbU3IidSo9XrxSlcIHZkyPnuXEjYVa2wQpVb7N4=; b=HhQLnesOKdchTlNfgQYOAksSc27ycS+K+WuiOHpxzFTpKo0kRVacTvYNIyQBInac/mNkvj/PlRQyQ4FG7MS18TbJJ0OFgfGHKiyndlQtX9MFUWbIIFozk8vPfD6p2aqyukeToas2aKyLmt2amPFag69LccEY+yKab0hzcqwZFyE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Selwin.Sebastian@amd.com; Received: from CY4PR12MB1750.namprd12.prod.outlook.com (10.175.60.21) by CY4PR12MB1893.namprd12.prod.outlook.com (10.175.81.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2581.12; Mon, 30 Dec 2019 13:38:01 +0000 Received: from CY4PR12MB1750.namprd12.prod.outlook.com ([fe80::8ddb:1bd5:127f:7a80]) by CY4PR12MB1750.namprd12.prod.outlook.com ([fe80::8ddb:1bd5:127f:7a80%7]) with mapi id 15.20.2581.007; Mon, 30 Dec 2019 13:38:01 +0000 From: Selwin Sebastian To: dev@dpdk.org Cc: Selwin Sebastian Date: Tue, 31 Dec 2019 00:37:40 +0530 Message-Id: <20191230190740.23852-1-Selwin.Sebastian@amd.com> X-Mailer: git-send-email 2.17.1 X-ClientProxiedBy: MAXPR0101CA0062.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:e::24) To CY4PR12MB1750.namprd12.prod.outlook.com (2603:10b6:903:11c::21) MIME-Version: 1.0 Received: from cae-dibler.amd.com (165.204.157.251) by MAXPR0101CA0062.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2581.11 via Frontend Transport; Mon, 30 Dec 2019 13:37:59 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [165.204.157.251] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: fb18f27e-3091-4ce6-de95-08d78d2d7cdc X-MS-TrafficTypeDiagnostic: CY4PR12MB1893:|CY4PR12MB1893: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:277; X-Forefront-PRVS: 0267E514F9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(199004)(189003)(7696005)(52116002)(6486002)(478600001)(6666004)(2906002)(4326008)(1076003)(26005)(316002)(81166006)(66556008)(66476007)(66946007)(186003)(956004)(16526019)(86362001)(8936002)(2616005)(81156014)(5660300002)(6916009)(8676002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1893; H:CY4PR12MB1750.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3kuixQzBbx76xee6EjCEE5HrZ7KmLSEjBoDf1szTGpDU3PMCoKxcRJ4ZaL5eHKftrHGv6A/dpQFHV9EiJvLjwzzmYST+h0MfXebIKb54JF4GyQwt5vyT58m21L3qX/jUBQRWGrO4ANHUYoHGzBkMVX9kXJ7b2px1K6fi5gJJCma0tcoFR+1t9f/r3B0y3MCtTUqdjqMQfIXJlBBWIWIGAGan32eGVmVPkOGt5843F3cmErTz3sreN7X2RbdPKvEcwph1sxOrWU1R8B9BQQSRWi1t/iXsGZjr40IpCA1QtoaXY/l8iqr9qDDpOP5vBJOsKHjKv1nrMTBPGWkKV8AQHsohA0+XTdhENmj0fR67oM8N+k+pb8FItebaYQeNYc7naGX4/eg8txaiQD/jwEjUiTlFTapOoupSf3yN5v/ofrcop+qgCqAtgcaFrasMjbK6 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb18f27e-3091-4ce6-de95-08d78d2d7cdc X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Dec 2019 13:38:00.9606 (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: yk+1geS68+imGAsxFyC0AF4mXJbnf+GgjBCk+JlBpc1XPCRsDtpPEQmIrNuSXHmCRFdI5TARrFFaAMQL1cA1Eg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1893 Subject: [dpdk-dev] [PATCH v1] crypto/ccp: aes-gcm driver bug fix X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" fixes ccp crypto driver to make aes-gcm output match with openssl/NIST output Signed-off-by: Selwin Sebastian Acked-by: Ravi Kumar --- drivers/crypto/ccp/ccp_crypto.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/crypto/ccp/ccp_crypto.c b/drivers/crypto/ccp/ccp_crypto.c index 4256734d1..19009f5f2 100644 --- a/drivers/crypto/ccp/ccp_crypto.c +++ b/drivers/crypto/ccp/ccp_crypto.c @@ -1515,8 +1515,8 @@ ccp_perform_passthru(struct ccp_passthru *pst, CCP_CMD_SOC(desc) = 0; CCP_CMD_IOC(desc) = 0; - CCP_CMD_INIT(desc) = 0; - CCP_CMD_EOM(desc) = 0; + CCP_CMD_INIT(desc) = 1; + CCP_CMD_EOM(desc) = 1; CCP_CMD_PROT(desc) = 0; function.raw = 0; @@ -2383,7 +2383,7 @@ ccp_perform_aes_gcm(struct rte_crypto_op *op, struct ccp_queue *cmd_q) op->sym->session, ccp_cryptodev_driver_id); iv = rte_crypto_op_ctod_offset(op, uint8_t *, session->iv.offset); - key_addr = session->cipher.key_phys; + key_addr = (phys_addr_t)rte_mem_virt2phy(session->cipher.key_ccp); src_addr = rte_pktmbuf_mtophys_offset(op->sym->m_src, op->sym->aead.data.offset); @@ -2393,7 +2393,8 @@ ccp_perform_aes_gcm(struct rte_crypto_op *op, struct ccp_queue *cmd_q) else dest_addr = src_addr; rte_pktmbuf_append(op->sym->m_src, session->auth.ctx_len); - digest_dest_addr = op->sym->aead.digest.phys_addr; + digest_dest_addr = + (phys_addr_t)rte_mem_virt2phy(op->sym->aead.digest.data); temp = (uint64_t *)(op->sym->aead.digest.data + AES_BLOCK_SIZE); *temp++ = rte_bswap64(session->auth.aad_length << 3); *temp = rte_bswap64(op->sym->aead.data.length << 3); @@ -2401,10 +2402,10 @@ ccp_perform_aes_gcm(struct rte_crypto_op *op, struct ccp_queue *cmd_q) non_align_len = op->sym->aead.data.length % AES_BLOCK_SIZE; length = CCP_ALIGN(op->sym->aead.data.length, AES_BLOCK_SIZE); - aad_addr = op->sym->aead.aad.phys_addr; + aad_addr = (phys_addr_t)rte_mem_virt2phy(op->sym->aead.aad.data); /* CMD1 IV Passthru */ - rte_memcpy(session->cipher.nonce + AES_BLOCK_SIZE, iv, + rte_memcpy(session->cipher.nonce, iv, session->iv.length); pst.src_addr = session->cipher.nonce_phys; pst.dest_addr = (phys_addr_t)(cmd_q->sb_iv * CCP_SB_BYTES); @@ -2512,12 +2513,12 @@ ccp_perform_aes_gcm(struct rte_crypto_op *op, struct ccp_queue *cmd_q) /* Last block (AAD_len || PT_len)*/ CCP_CMD_LEN(desc) = AES_BLOCK_SIZE; - CCP_CMD_SRC_LO(desc) = ((uint32_t)digest_dest_addr + AES_BLOCK_SIZE); - CCP_CMD_SRC_HI(desc) = high32_value(digest_dest_addr + AES_BLOCK_SIZE); + CCP_CMD_SRC_LO(desc) = ((uint32_t)digest_dest_addr); + CCP_CMD_SRC_HI(desc) = high32_value(digest_dest_addr); CCP_CMD_SRC_MEM(desc) = CCP_MEMTYPE_SYSTEM; - CCP_CMD_DST_LO(desc) = ((uint32_t)digest_dest_addr); - CCP_CMD_DST_HI(desc) = high32_value(digest_dest_addr); + CCP_CMD_DST_LO(desc) = ((uint32_t)digest_dest_addr + AES_BLOCK_SIZE); + CCP_CMD_DST_HI(desc) = high32_value(digest_dest_addr + AES_BLOCK_SIZE); CCP_CMD_SRC_MEM(desc) = CCP_MEMTYPE_SYSTEM; CCP_CMD_KEY_LO(desc) = ((uint32_t)key_addr);