From patchwork Tue Jun 7 04:44:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gaurav Jain X-Patchwork-Id: 1639793 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=lGWDhN4+; 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 (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LHHp63z3Dz9sFw for ; Tue, 7 Jun 2022 14:44:44 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 013E883EDA; Tue, 7 Jun 2022 06:44:31 +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="lGWDhN4+"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A129F83AF6; Tue, 7 Jun 2022 06:44:29 +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=-1.1 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=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0604.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::604]) (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 25C6583EDA for ; Tue, 7 Jun 2022 06:44:26 +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=B5dpPQYUR1qLRjToyjQOUAMC3gRPBoexXuLKFIciHF/MAGoBmeeX7KZjfWBySpnQe6vjRBiM8xS33OwFCl4TnjjoLh2hjPzT3t7MhAcg23JCs9iviArwVHNuuWgPTtBWztKWkwB2sSKD+Ye6lxwX//AZSrkpGZTjvDEtLq1E3gE6uVu1VMA/ti4pmytJpBAIRWPsBU1xz0FKtPpxBJfA04iC7Y7pd+82EwNC1wgTXLp5qgEIMEx9fRz9h6NZc1M2brB+hc8aXvjOiIAfkWKD3zDLKFXq5vl9YTabmslfSz1uZ/YyCgXJJCMB6hCWbnkufzwRTuGsayFvDvujBDrNiw== 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=HQ62+Z5x5BY/kFM87GzKLt/hKmqMwGUAYDQo9fZKBWs=; b=iTIBJQjQFkmNO3AUD4nfFC3Ese5nPHUkeWXTHWLZY9NUB9GRhmBlQrgaVwS88doXHm/ET9xcyGOcwTo51wA57fnCbch52UpvX4yTC4zkwAZcNodDNf0CHUAfHTNoOPf5BAi4w2k0Pynub/imwi/sBFbMwlYP4JMemjlTtMXEwFWopN8BUD63Orf9xaswwUTxaYhKkuJRkYZhaaAHKseszUXGgBPIWGBNwY4SJRRxbmMuzC9mq/Wya/rRfVtK695jrmEb0DjiV4RyIYTsHOPbVXmRR4Fm8uPQxkUrpKgsshnAA79PsL6jehbJWsBIzU1eEebE+zlHdSXCmb6kSIFBGg== 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=HQ62+Z5x5BY/kFM87GzKLt/hKmqMwGUAYDQo9fZKBWs=; b=lGWDhN4+VCrC0Bt4SYa2XXePgEtH++d1vJGVNdFR+cdmUTFRuWuXDWvbsevmpz4O71fIb3ACV/zIt7naLZM6r1FocZG7oHaMkc6J9xquXL49Vm+kdqWmCg3Rox5yoTaVFbE6MJgLfs4NgoAOQfqPVVrlYlFaNnsKCYf8aU44/us= 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 AS8PR04MB7638.eurprd04.prod.outlook.com (2603:10a6:20b:291::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.19; Tue, 7 Jun 2022 04:44:24 +0000 Received: from VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::7099:6180:68a5:384c]) by VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::7099:6180:68a5:384c%6]) with mapi id 15.20.5314.019; Tue, 7 Jun 2022 04:44:24 +0000 From: Gaurav Jain To: u-boot@lists.denx.de Cc: Stefano Babic , Fabio Estevam , Peng Fan , Priyanka Jain , Ye Li , Horia Geanta , Varun Sethi , "NXP i . MX U-Boot Team" , Silvano Di Ninno , Gaurav Jain Subject: [PATCH] crypto/fsl: fsl_hash: Fix crash in flush dcache Date: Tue, 7 Jun 2022 10:14:02 +0530 Message-Id: <20220607044402.101372-1-gaurav.jain@nxp.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: SI2PR01CA0005.apcprd01.prod.exchangelabs.com (2603:1096:4:191::23) 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: 7aa908ed-4d73-4b1f-1d01-08da48406542 X-MS-TrafficTypeDiagnostic: AS8PR04MB7638: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: 5fPdQzAobowxeAY8qvBlNE/SqIPoHlR23Lnbjkgb/0ZWW5XLgCqjO0i4su6My57uJa4OItcfuPFObh7P3YShemJBlz7QfbEhHI7owmwZfEPg5L/wR0cn0OM/kxYKzcoqy6unWsDJHfwmIv8z1u6P3bhtX+GWQPBDplIiu/Y90xlEvcG0syDpzAlh5rKzgH4GLnbSt8TZ4sbNQrOTynDrMA4+64i6yWkNkYuem0Kf06b2aEsvcMvbM+Apn0NGxUgBGKtuw9dD1vabvk7g3haK1LEoOCLhJZNojBeBRdKVntqtX3c4Xx9oZHh1WhXyQmM+pGRs7MKFUqjYKqo0OchUUmvzaWx+dN13tLnO6YS3C/dLlj0KPmweoGY7EhUO6ZV6yGP096xDZUn8CaUlEMWU6bhM4pqdz1b9lXOizmSYzgqbWbbcGXkgx0Al33aC/tIEgW+/bNK+dF9rPpvBwoYM2DSdk7bjwOZg1dOf/+Llkx1CafmKhszDNNbnASF4FnpD9SZbCgdt6tvpCS+/quliWc5if5U32j1TUMxVRHaF+2o1z5Y403LmqJEudMjsKS+k0Hn0mCPk9QOzEfMRM7nRyzlBFpSzFb09qyebImyU8ZXeEYb2J/xyhzXrjqRaxzmpydETQy6nXJ9ey6dDDiZZehNeuw8uAQE92+RJk/LOi5ir2vjQYln2fsI1oLCN19YSNSwdsQ5p+C0vJ8vI6PJ2tg== 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)(38100700002)(66476007)(54906003)(6916009)(2906002)(8936002)(36756003)(316002)(5660300002)(26005)(6512007)(8676002)(4326008)(66946007)(1076003)(44832011)(66556008)(52116002)(6506007)(83380400001)(55236004)(2616005)(6666004)(508600001)(6486002)(186003)(38350700002)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bmVldK5Jixw6bsxmiF1xd647K+5mUEmEP/bog4xw/3FxuklaHX7hz/4BxFh32RW7hsHa1T/3l8Oj8eTKHw/ktKTh7RVexpS9a4LrheD70ou2z9E9IrjfARN584aBEawKHHViuVVl71pDJ3Q9xObWj+/pDV4dONhAXkqdEIvzYD6J9nyyaN/93FAC2Y4GAaRiDtRJWSMu3iV4Y9kr3TcwCf42LrcWIC/VtW6g5Ma+tiFZoAXwqUaU5kZlVuHSaoyhT1aA/CjaFCimv3kB4gZaB7led5zxuPH1iuWpxDFFV1/hqGfBEYFIw5uzF9Pkdlbys02Hj7IR8M3yyBE1rmVJSNKYqCcmT3a3k7QAgM49712gSpsw9nyadMxUXkGGvF/iYdzLrUv1oR8XSxbL303efvt4OL8X/DKYs+CrPV1irwWXmyMXbg0QoBxzf/k57x87izpmF5uC32bku2ErUsYrsu1QKVF6wFMeWKTn8wWXfDMIL2FOGQHXGGSBKOkyILPua7JdCQG87IAHjSpXwmFiVYi5UMPEiqpA2yvY8wNr6rOp0N+ojDbrl2CZahB31cDH/YVUQjx9nOo/3ZSfrsmp+BA26R/PXQAUaV9pYIMyb4v3hW+jjDJZoM2uIN++DPI5K5JwaVP7fWYo8PJTY7n1D7oFqBa2a+hf1dIjXs/XHZy4OH5LxxedVtyXURn5q3Nh2ZdA1uAF43i8a8y5jn6ou7e5TJTvq5B2baF5Bm8EC3trnQPJ9lJUrwHcRAaelYZ/gEDWk2sF1FD+IuSiowD9F8GlVA4frPgJXm10NWO26rqe1NH9CbUhdqY1ejxqAsEmOkB4j7Ta/HkPU1xwQFmVwTZolw40xnKkx91aMjAbz7sdjHrxYqW0KNDaIqvZs3H2Pg8NwlsGLqXLDUOvEAfgLIrdRvSmz/rNVH4DDBDCE3G1i/yB404ZSQ/q+j+QWQ2SaeSO9rurJxQHIDG2kwe7IBuLBhC1Vq8gEZ4nXPTxN/emPYpeWKFLSHK01eY8hXcEBtj8QJFqFVI9JlUrXhJLbiZ45SRhTpQ+gdAsZDEtCVhecWyOiiSyQHpQvDI8GV9SRAlhCbWd37tYoBnsnW8YjvS9OpXa+g1C3IjGUmt7R7VrpKyFjoE0M3amieYpzj6bm22F8zoUrhh+lVE5fKDL5w3EM3WiulNlK52k4ebjidAknNqjW8XI8QE9vxPtL1vNakFStWp/4LRv6CCDg43/D6gPG3FkMK5WDboB6rpId6+yoTnsXjoEmbPgT5AVecUn5fGoqGsvN9jS4iSNYO5XArrBM5XFHZWhpsmoWT+Bkj2E0/9ECYvaRsdSwIQGEz75abVRp45Aa9WxtJMH+lYBnPtYjeFZTZLLPi9hmfffdtW0dWNOdbIGKTvzP4nFoQ2QViY0nlyjqaCkH3MW/5xOpLN7nb55Y5QIoKJyHWwbfQ0DeMYjczUPKUNJn5n467SyFRlg2eEr6xhPVforTCDG/c5Ft5DVObHxy7PvMcqDQrNdkr5vHDEa5o3DLoILTBynTiYvm4CrqvD1S+NimbvcZO1crW7QCFri2TDqPdRjxPsCbHlbIuVv6ii/3ryisE5s86mw8BpaJ0ea/ACfGM/jmqMb5sHaroC6u//mn78Z+32UU4N1mZmREXyuOD8SYGLY8NRH74iXyjIuFysvPicluDNxhfblqu3xkMN/PnkwhHRfGI0mt5MdRMMUQW3GzFCS4kICOpa44WqVcWf7Wu99ybsvUPJU1Htc8i+M+40bzuU= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7aa908ed-4d73-4b1f-1d01-08da48406542 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5342.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2022 04:44:24.2472 (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: BatjMPOQaiQg7LdD0P4ayMWn4O5vx9DOVCdHH/MSruQgt5mpMcQfcicyGRp4Yq6aiak6rB5jjzZMm6/Npx8SVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7638 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 wrong end address passed to flush_dcache_range. modified the flush_dache logic for scatter list elements. Fixes: 1919f58a8f (crypto/fsl: fsl_hash: Fix dcache issue in caam_hash_finish) Signed-off-by: Gaurav Jain --- drivers/crypto/fsl/fsl_hash.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/fsl/fsl_hash.c b/drivers/crypto/fsl/fsl_hash.c index 9e6829b7ad..404e3d1b78 100644 --- a/drivers/crypto/fsl/fsl_hash.c +++ b/drivers/crypto/fsl/fsl_hash.c @@ -131,25 +131,31 @@ static int caam_hash_update(void *hash_ctx, const void *buf, static int caam_hash_finish(void *hash_ctx, void *dest_buf, int size, enum caam_hash_algos caam_algo) { - uint32_t len = 0; + uint32_t len = 0, sg_entry_len; struct sha_ctx *ctx = hash_ctx; int i = 0, ret = 0; + ulong addr; if (size < driver_hash[caam_algo].digestsize) { return -EINVAL; } - for (i = 0; i < ctx->sg_num; i++) - len += (sec_in32(&ctx->sg_tbl[i].len_flag) & - SG_ENTRY_LENGTH_MASK); - + flush_dcache_range((ulong)ctx->sg_tbl, + (ulong)(ctx->sg_tbl) + (ctx->sg_num * sizeof(struct sg_entry))); + for (i = 0; i < ctx->sg_num; i++) { + sg_entry_len = (sec_in32(&ctx->sg_tbl[i].len_flag) & + SG_ENTRY_LENGTH_MASK); + len += sg_entry_len; + addr = ctx->sg_tbl[i].addr_hi; + addr = (addr << 32) | ctx->sg_tbl[i].addr_lo; + flush_dcache_range((ulong)addr, (ulong)addr + sg_entry_len); + } inline_cnstr_jobdesc_hash(ctx->sha_desc, (uint8_t *)ctx->sg_tbl, len, ctx->hash, driver_hash[caam_algo].alg_type, driver_hash[caam_algo].digestsize, 1); - flush_dcache_range((ulong)ctx->sg_tbl, (ulong)(ctx->sg_tbl) + len); flush_dcache_range((ulong)ctx->sha_desc, (ulong)(ctx->sha_desc) + (sizeof(uint32_t) * MAX_CAAM_DESCSIZE)); flush_dcache_range((ulong)ctx->hash,