From patchwork Thu Jun 9 12:46:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gaurav Jain X-Patchwork-Id: 1641237 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=SuEnOyHG; 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)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LJkQF1vcsz9s2R for ; Thu, 9 Jun 2022 22:47:33 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CC35E843A1; Thu, 9 Jun 2022 14:47: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=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="SuEnOyHG"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 36B5883AD0; Thu, 9 Jun 2022 14:47:24 +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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20623.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::623]) (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 25E26843A1 for ; Thu, 9 Jun 2022 14:47:21 +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=iCvQ7yQc2QOLkHDklq1Dy0LPy32RtsReSuX58pMfk6aXl1CTB7B+vjEm8rbY0oCM7/YCXtmroUKvILLgLaOiUd+suJxy9g5KEHiHXePG2w5roQJCz9xS/SgNN02v6AcRnyZZgKVq6y+fTP8zKNu3Ei1gpbXoFaQqvlw34DHg58mKO6/atPO9vJGlGxYAhpL4Ai3/TbbkN4y4f7FetejqO4E+dPO3vv504Oxc/wk9Lhx2wreY0nRT0KvT0s+14MJ3O1y6g1qbxICMhHl1d9PvLCelVDqgusWjyXwxryeFOnpHAf2PyCQkUS8CRvTTWfVC3NpztXr32J56OhP9Yi1fXQ== 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=GDRkiV/QLEqyR+y5D+XRmMQF++VRR/6jnbtd2yaINHI=; b=JWF9U2OaCjIjWHm1L+cn2Idaq8p2bh4oiz7WlMav3p/ubt+n4YQQXZCoedY0LEAhJoB1Nhkc3A+Oaw00AI6gTJxwNzXFxBGzeoOPpY48AahP3hlOD7ZvOVGW9emg7GHdyf23pRMLOml3nlXr3DsFXGEn0nSb4Ft+KKSZuLcBKyRuLn4g1nwuX6sFy1QQnTNMb6HgREs9H8MznpNUlPtzJgF6/RNJXSC/FfaLMJhGi1tT+cu8ivDcaZm8D0Itxuf3iUeo7JIUdHc93CGf3RL+OeyySQ5lz26YXGdOH6LrkWs7MbCcSCgUtO/qtqn5edh16ahZbvsI5hTVD0lAqZgMtw== 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=GDRkiV/QLEqyR+y5D+XRmMQF++VRR/6jnbtd2yaINHI=; b=SuEnOyHGX1rpDpwuex720uDhbyAcCTkZM4NMiYeV9xpGXAkyE75P6DtmvMRoHdNyebAKliy0blQXwwop7hGL1L2CYmZJ8iE6lpFx+X6WqWoNDJQ/seidfOXANPV4bHiV+9pW1drdR4NOtkkpsndOrbS6q2HYBn7rHmkjI0lfAk0= 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 DBBPR04MB7579.eurprd04.prod.outlook.com (2603:10a6:10:1f5::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.19; Thu, 9 Jun 2022 12:47:19 +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.5332.012; Thu, 9 Jun 2022 12:47:19 +0000 From: Gaurav Jain To: u-boot@lists.denx.de, Stefano Babic Cc: Peng Fan , Fabio Estevam , "NXP i . MX U-Boot Team" , Horia Geanta , Varun Sethi , Ye Li , Gaurav Jain Subject: [PATCH v2] crypto/fsl: fsl_hash: Fix crash in flush dcache Date: Thu, 9 Jun 2022 18:16:57 +0530 Message-Id: <20220609124657.2444224-1-gaurav.jain@nxp.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: SI2PR06CA0013.apcprd06.prod.outlook.com (2603:1096:4:186::18) 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: a879ea8f-654d-42fd-3327-08da4a16309c X-MS-TrafficTypeDiagnostic: DBBPR04MB7579: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: 344aHZRMmauLq8AUwpsUXZjmdcfWVHjYsmtayJZo1VQEAvcYI7dY2D1yGPgg/zVu1NQ5d+knPkCrtZNcAdwSl7uY+YXVZ3/y1rrjuxqKAp6FMY7qbOQRjwEpCBQElxMkE+1MHydnqLKywbYchKpVE2GvBIyWWNSY7w87FnLp8m6Z4vyMEfIMTcyIgl1/KBD5la92PCqWJ8/qYmpNMfYuZK1MwWO8AJ664SKzN8eC20OGw05UILl+gEr7srLM+yOeqHTtfMUDdZhtZmRFalgKhcgs0VCX5fNCeDz1LQWq4Za9UMpj0bRuY6XNLyITomekQTODOdHHUy6wsiXSs5itgl+9JJnFUcGygvOsqheYkpolZ/f8+r5/Vh8SCBnxC9zlcZnGMjomQKT60x2z0GqaTqg7x9Qcm4kFHHtmDhMyk3vpW0cW4XqZaO+zo0TIcrGE10ZGMjTzWsLe8th5tqxox6MLFQvzN0dJIptBXN2yZ5EQ5xyHMFGxke/9tF2GHPo0qMVuWh2TZJNNECvnp/5Y6t5PAj7DkExtM48zB59s0ZFXr74pjuGWMh0zjUUWsktAo8MK2HA19/PFcFNbaXcPCDLJmMgI8bj5ywtHnV8l79aidA5HjNVvwqRC0ZyRFYQiyd6xhYqQv4qFN0KDIyo6boVVnwxgydEvZtmQLhWSUPgXvi7dHCqn+aHNXoYL84O4rC3cQnjlQ54WZkJ92VpMWQ== 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)(52116002)(6486002)(55236004)(186003)(83380400001)(6666004)(6916009)(6512007)(508600001)(2906002)(36756003)(2616005)(86362001)(44832011)(8936002)(38350700002)(38100700002)(316002)(26005)(54906003)(1076003)(6506007)(5660300002)(8676002)(4326008)(66556008)(66476007)(66946007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uakFoJKSga2VkeQUl7IfS1tEkzbWUfriWVrNqol+71lKS4l3cMeQ18OtOWrN0O9/NIpBFZUsWypaK8fpxiD/vb/5Zdv5dHnQ6JcFgywd+x3508w19CcNFvLwusv9UvI5sZ9lP3dvlzf+2roBgYUJRBsFIdM32IfAbw+/CfapU535mSYLbal4mt6dSBSlj3noa+hzHL/DZdhoMzY1lRiz3RLXZMZAM45J2WaoNqczdxoMV5nhCA62sUXhFIKFmHU3ZLGmFsBsH1kmiioSkY0nIFlGA+HZDx7oqfXo3TE25qeygS15w2upa6/Z3b6r+qtXjBDsF3QSuqR+F33heNpTJ9+rU0vl2Q0DLDluqgDt0Z/zVUtu9tRweq6Yu1IbGpwNuGgZ/Zqve3sF32/MZvVzY3Fb7BDE9DlICVDLZKa/3DlHqIbmMzHQW+wzI9QHC5AANp2KwDv5fwANDhoBFYqXU3gjTDxSey6f5kvaAYozk90ljj1mcnFGwaB2+5vUXyF0TcS/YNwFpCWTz3r05OSwmgrCL9LjtIlv9l4nHo5HfJzrW2TKOERaZjd4rOGGmhvo/OtdS2+CK8P1FqrrD9ffgKOqLhL1UTPZ/nU2PxWx9q0FpP7J2jNj84DAeoAfuarAOL1F3wJt6FM2iuwZj7rSxNJPj3G7dso8St3xjsGLoc2kNCz2l1PpMk+EfqjyVolO1v2QQU8lGhZsExT6V+m0j6UEco2z2JkcdyCRijlf4HTNm+K00WVwnoK7e5/2SBxzigA5Spz8YGPcWMBOrY8RcC0XtlFbXXQ4OiCA3rQasCjwVbbnWnB103rF8lkEhhWB6rW/imG3403JUnwth7pBaXCh7Clj4yv08qoDJZvhQjZxZw/p6mDAdipNIR+I/LgO9c/VYALWlIwIrSitFsQHmF7oVh9BjUW9Ozze84f6HMPlKMijVrHr4PqfPZARDT6XFSH3dw1OwVtlTxa3EWEL6fcCD0uN0v/4DM0oQEz/KtrfdKFWyR1/BA4YFRnDBlObCCwBHPuBFWjk169huxt8F3YlRZaJYWVu3hJxtWsfw2ELBdgMqJDduLAksE3U9wvh9wybZnZOipTS7eYL2yeDnzl2q9w6JlKN3I/A4teCVhFsm3ZREXxI5BxnqjMBA/MNJeuwJ+0KPfpBYT2fjLwm3ZmFJbNl/2U9c70kZIocCLxv3B8Uo2ZOtJWkptnx1vwtmJZpXevfSj4Ny6IePKasZaqOSBByljc5HnS9CVh6eZlnb82b6Da7cbdBoNn1kgU0lTV8lCw+8bU6tzrVIGqstjsttUZIVVcACEa/uAdDrXLBNM4e9N2rRIJagmCs6M1Hf91TruxpI8dwCt6u/BooPNkfNrC/ZaVb5NSopYzUdesVutIIDBGR0wjS6Jwz1T/XATXG1ytuCOy8F0OEJQFfWpoOxm2jnfgiu8smAE3nRoXAingDdEbPqrVQIucOvTbCCAOk3MEmObSLBtDDKn1yu6O+unQYy7aCILB2daDeDxjChlHi4E1Ja+c4o9CC/stm8GAgLgu7gfodHz7TnCfdKECg4cNHkfdhbVnY+YTe87gUMjwcAHmjOUcYtfCK/aEAqulSH5D3HblyYVFe+WgCMljvfCFM/rbCnDcRH9jwN6/yde6C7LNzGjVeTN7l6/Yr7tW2PPgjxb8SPa9tZGKQ8yF49W9fxDNHkfoCGcmELv13Dgxa9OpA/NEmaHPBv9TXWr/yAUMnQg35y9DdkeBg2Q== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a879ea8f-654d-42fd-3327-08da4a16309c X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5342.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2022 12:47:19.3812 (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: RTNeXVeoRmZzw82f0T1sb6GocHvHjChGP0n2yIw/RD3CkEziMXkZ172GlNERP8h9oUPswyBkRVxtbINqlMDzcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7579 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..c957f097f6 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 = sec_in32(&ctx->sg_tbl[i].addr_hi); + addr = (addr << 32) | sec_in32(&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,