From patchwork Mon Apr 18 09:30:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gaurav Jain X-Patchwork-Id: 1618318 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=TmD1m5br; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KhhW92Mh4z9sG2 for ; Mon, 18 Apr 2022 19:30:45 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1554D83826; Mon, 18 Apr 2022 11:30:39 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="TmD1m5br"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D9F8A83ABE; Mon, 18 Apr 2022 11:30:37 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,SPF_HELO_PASS, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20610.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::610]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C09F783A9F for ; Mon, 18 Apr 2022 11:30:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=gaurav.jain@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C5sMW/q+FC9+Xi6VLXaIT9+QHBox63liVXX7nQpLX+nKZwSqcAMu1OhIyIi0fH1T0s7OeX52JPnnPx/PsW5kG86XEOn8hxJ8mM0YXND6TQaQ6KVtCKRDmNqssVwVlRDQO9el5vqjTk/OehlfR7pSBd9cygzhJFV/yp4j/zAD7tc63N6KwHLTuTaHuGHFA5SFdBlvGKbfrENgjxPBLQnhVDbFgFFMh90AsMNKIapaPAEmDzNHKw6f2O7R2AbLLm96DGv8I1NXj7BDA50LpqJrAtN1JUPj2eqBGiXac+mO+oA3b2ESAEtbnCTCCWhbUhTUPgFxzeS+xjkAE++PiqyEOw== 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=VpzSSwcNbejM3zGVB+UrV8eKlWGZhWid5ESfv8iASzI=; b=G21e/By54zfB6kyh/PrOh3jlD35GE+xhq8Ny0ha9pNdaRltjXvnaZ1VyUhk1BienUGvEo5tteORMlBaOgxQC3vyit/YAe74oQbw7AWvBdZsTUty/EuU+WcFQPXYKnoZDlBCFX5SZv2r8DTOOchKKCkLCIC/IfRkwK7wj4frWdKojXwTdavhXj2wnOArIqFamHsgdiCdt/msuNab261MMMLtph/EnKSbvH/MBJUos/u8tsCZv67WnuiM8OPhPKNQvcQPGODZKyEHMvOksRW8OhVOEtZjDSPanSn5f1R0T57kjAvkUBpBOUnTqFNQku8i8Pu+2ICe71XX5Ohc6w1YGSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VpzSSwcNbejM3zGVB+UrV8eKlWGZhWid5ESfv8iASzI=; b=TmD1m5brBNWaDmXVWV+RNrj7JXDxV/9za2R46Gy5aONmZVN0qBbveaR4CL4naZZjgkiAVosMeXkQ+14iNr35KSYZWmzgVec7yJSr77zc/Dt1WAs5vJhavG03cSLIP5lsdU/hRoRiGEPqjk4SoTt5tyFVsvmfP3ZvY52+axNjMuQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5342.eurprd04.prod.outlook.com (2603:10a6:803:46::16) by VI1PR04MB5758.eurprd04.prod.outlook.com (2603:10a6:803:e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Mon, 18 Apr 2022 09:30:32 +0000 Received: from VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::c587:139c:5129:6d02]) by VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::c587:139c:5129:6d02%7]) with mapi id 15.20.5164.025; Mon, 18 Apr 2022 09:30:32 +0000 From: Gaurav Jain To: Stefano Babic , u-boot@lists.denx.de Cc: Fabio Estevam , Priyanka Jain , Ye Li , Horia Geanta , Silvano Di Ninno , Varun Sethi , Breno Lima , "NXP i . MX U-Boot Team" , Gaurav Jain Subject: [PATCH] crypto/fsl: add invalidate_dcache_range for hash output buffer Date: Mon, 18 Apr 2022 15:00:07 +0530 Message-Id: <20220418093007.1152201-1-gaurav.jain@nxp.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: SG2PR02CA0123.apcprd02.prod.outlook.com (2603:1096:4:188::22) To VI1PR04MB5342.eurprd04.prod.outlook.com (2603:10a6:803:46::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ff021d84-aaea-4f52-1808-08da211e15a4 X-MS-TrafficTypeDiagnostic: VI1PR04MB5758:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NlQxcTFKPMVYcotuC+CTcBW48DKpIIc/6+QL92ytJn60FjZKhwA885z4AjgYBhxtTnFJmhU7kxIX98pJBPAl9tMpVIfmr1NlGvin1lvqkzHa+UWZKHu/oXMaU43GAljsZ98NDgTSUywb5de3uNJVVVIAwjfTwKPbeMraH/APDd1gtAhK5qZ19Uaww0tfZuduWspeM0OeFHtIY8J5smwzT+vV4iVMFKsh/2bcy2c5EcuiWrudnYlv5fbL4o0Nd1k2/gOob4YPUCCWTp0SC6XfKk9UF7cJC+1ATfoMCGqKMMCx3TFTAiZ5FBV5fw40Il+6J2fN2OmoneFo/GB95Wpv4gWVC/OexUH4a9iRj0z8lEeHhGuLz6XucBNq1i/1q9DpOVyvnqLmr2PJUEBOt8XHD1x6c50kjoyQk6MGIA8XJV5dzJGJuq7blaUubJ3AT3q8RPu8ntw/JCLrwmTLqoF4bY8/g+sx9WsB3FmsWlNccyjrw80mxV3ZxhqPhFMcoV6QfDk9OcuaM5dbUeRt+uA6gqLlTJKhdsFib3g9wpJmlUIOsigCYAALDx/ELBCF1y+KhGtoRZMb+xPoTnU+sxLg53aNxs6Cxcxu/2ZA2pXr00faDwMZ3OllSy55UhSGS/tR5KA+rewR7dg82zpJ8O/dKRLgbwWxQuMFEg1A2Tne97XK4BFm5byx72uKTZvjJYZ+F7V/+AHr2IKVuSo4G9cYBQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5342.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(38350700002)(316002)(54906003)(52116002)(26005)(38100700002)(186003)(8936002)(83380400001)(5660300002)(44832011)(1076003)(6666004)(66476007)(66556008)(2616005)(6486002)(36756003)(8676002)(4326008)(86362001)(6512007)(2906002)(66946007)(508600001)(55236004)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MjmALgsW2CjqZkT12JCTt5KppygPPYIQn0Xm8TsgMi1eeCFf0uaXtnwZCExvbccMpq6ZBwi3vP0h6y8cXa7JFHEUr6PKcHF9AXXEIQ7R0/SPHFZi/cECg76UCtrbLhq+R22V5e6l6wwpCewIQaqbwthiY9i1d/fn0dKIFpKHjNpQNROpOL5yOMKjZOeAU/kV+2xkZO/BWu6WIbDQ/WRgNabhcYlJAc2Xi3Bv44v0J9/MWE+iY9iP9Q76Y3DPI5CDQXAZR51+6Kt7f6D+WxCp2INxj/pv6AFjLwFQ5YInr94VyFL66WoacFPRZfMHi+hrUv3Mr4YNoXX8hj4utzNd99jHdCkV8jPHJQSneMkiUS5uE7vyAnqZkYyfd+CPmS3pxWfVHrbexSYavKoFn8e9sSbU1vwt/DK5cmYRJxBmhuztYPMcykS0pHMxa1miixEHYSWRvu2heHsFRrxg2/4hz0vUNxCT8AKmkwQAPPepX6FKW3Qf2Pi5oYURkaEXJdVapnPhCYuMhjTU5DT8xaJPqpZafWmfFLphpz9wQRVxw+AaOyu++bNU8IJRtRr1N9EBDoiYl05mknBefbPfjOcbOAH63Is1R3z9pBxmQG4c8g6fr46VYu4dBAeuuyfI0rqQV7FQ5ccxYgKVIZBQMgckXCpZV9aj83CX0Vb4LyDr0bjiK1M1M/RCQ7CvmjC09A/gYG6RtMDzixzPMOi5ecMOxLXWUD++ajZpqG+iwnIvFxI8KaIEpF/7RZuEOFd77jFmc5fktBEnvn+znp6c0EsmsHuSHjiCzQtb9gMcHy5I5ZjQIUe0QJW3HdrKD0ZVE9iG4z1ixR1Ih6hy1voOc13haM3iQkSLd66qAQnE40Id96w4iIuxHj5jRf4HxTQCS606B4Vt/8f3P7JqHg4wyRwy4iuhWlrfoTIMQVC+rYZXKzIK9iQB3CvDOZldPqH57hu3kzs7dwGanHHZIcZwA9cmWGI1Bk3Meiu0ygU+Xpo3T7dGqYkXhnzqTZlh6i4/POA0DvvGlY7Vy7m5vEmqnFuETN5Q6fpyG/fvL3eZyRKAGGBivBXtUWdgKaORDu3wdC5rFkOiXnRHW37E4q5r2U+tOZAJGealOC0JxOSVhJ+UKdGWZ+ETYLzTL5GzHhsJkBJVHS60jWZlOJx+ja7cTuoxGj1c6iXzWFr4KWRHt6+SBlswAMDUj2QCkQrrusnChpvtcpryr3f9WKP4BUryvmZwaV7QJrc9v28iLid9dbkMOv7HdnfVKp8vypESYILny/yURpYqZjGotvUsOmkO4VIoDgc1pZ15zraQo/6W9txB/AMgbmdlyCHn9f5rxY2WABfcNMEHoctqpnyOICS4Xt1DZpR0EnivGPjThltMje1vOwQi3BzlcIH55slaTMvRU+k+dzONk2sSIr3P/pn21/whTgPalGNKdVXZF+KE7qZeXM9+YJGA14x3VuNB2sicp1mrny/azQwOd9XNP66SMCa9WMiNOs0AIh07VTx6nfbPKHsYb5zBuN8wSIT4rPDR+nHvyj5jnEGFL48fYL5hW7RM1RWeC0Az12B4VEXc8TKBYlusRc6E80nHgooCLJT6c7F8iiBpFwYXvNoHM/2CQdtUgDJA3GRk1Zdr0lLzbEaTDVizpZNYwrARth+nbLzLluzYiseG0IQjI03IJlnldFWH9Esxib4rdvXtk2JYct7LfpYbzyQYJFl6Wg473PKlnvJeVaJKgLGOHSaSQd/CzwMQMVgxpxw/q2KsabXk7iyYvsM= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff021d84-aaea-4f52-1808-08da211e15a4 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5342.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2022 09:30:32.4344 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oZC0JZDUuVRAQn37+LlUzCWYVxMvJ32CSDd0Q/Dwv7CWKFlnwEAjMr1jETTudwGfzW1cjULBLusCuQ9YZHGEcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5758 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean HW accelerated hash operations are giving incorrect hash output. so invalidate cache lines to avoid cache overwriting in DDR memory region. caam_hash() -moved address alignment check in the beginning of function. -added invalidate_dcache_range for pout buffer before running descriptor. Fixes: d7af2baa49 (crypto/fsl: Fix HW accelerated hash commands) Signed-off-by: Gaurav Jain Reviewed-by: Fabio Estevam --- drivers/crypto/fsl/fsl_hash.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/fsl/fsl_hash.c b/drivers/crypto/fsl/fsl_hash.c index 2379b70c2d..a5d364ea42 100644 --- a/drivers/crypto/fsl/fsl_hash.c +++ b/drivers/crypto/fsl/fsl_hash.c @@ -168,18 +168,19 @@ int caam_hash(const unsigned char *pbuf, unsigned int buf_len, uint32_t *desc; unsigned int size; - desc = malloc_cache_aligned(sizeof(int) * MAX_CAAM_DESCSIZE); - if (!desc) { - debug("Not enough memory for descriptor allocation\n"); - return -ENOMEM; - } - if (!IS_ALIGNED((uintptr_t)pbuf, ARCH_DMA_MINALIGN) || !IS_ALIGNED((uintptr_t)pout, ARCH_DMA_MINALIGN)) { puts("Error: Address arguments are not aligned\n"); return -EINVAL; } + debug("\ncaam hash\n"); + desc = malloc_cache_aligned(sizeof(int) * MAX_CAAM_DESCSIZE); + if (!desc) { + debug("Not enough memory for descriptor allocation\n"); + return -ENOMEM; + } + size = ALIGN(buf_len, ARCH_DMA_MINALIGN); flush_dcache_range((unsigned long)pbuf, (unsigned long)pbuf + size); @@ -190,6 +191,8 @@ int caam_hash(const unsigned char *pbuf, unsigned int buf_len, size = ALIGN(sizeof(int) * MAX_CAAM_DESCSIZE, ARCH_DMA_MINALIGN); flush_dcache_range((unsigned long)desc, (unsigned long)desc + size); + size = ALIGN(driver_hash[algo].digestsize, ARCH_DMA_MINALIGN); + invalidate_dcache_range((unsigned long)pout, (unsigned long)pout + size); ret = run_descriptor_jr(desc);