From patchwork Thu Jun 16 10:10:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gaurav Jain X-Patchwork-Id: 1644238 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=kcQsAFCc; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (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 4LNyc26dPFz9sGC for ; Thu, 16 Jun 2022 20:10:42 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7BCB684344; Thu, 16 Jun 2022 12:10:36 +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="kcQsAFCc"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C74E88439A; Thu, 16 Jun 2022 12:10:33 +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-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2062c.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::62c]) (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 CA61A84390 for ; Thu, 16 Jun 2022 12:10:28 +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=lyiDagddlm+8LS+Y6tcjXwJkYE08lfZaZVY6nk9hY84ELFb+8qUqJ220uSccOZ6zHoLTZStzaQ95WPSj9IHNpQ2/T/b10UBzR+rHrRFVP0Kc8McH1AxNNtljcbGyErpgKilJmyd845J3FVocQWP0uoAf/3ml5cTS1MokNT1qiF7OKsiKQsvMupJ6+iRo2nRbO3Ge9VYnZk/SdSjV/QpSTKgKCxA+xfhwx36aYQlFJIis2cLuiQ02hDgnfvvUX3PqBZ3/SVDWh3gWfHzc7ZGOZ5uU7RmERbCY9lukefAcgsDeAYvOaKNzQ4MDgqFE0g4ptVZWeX6/73xhl1ppItLz0g== 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=uqAzm8XhTEhG7o1H6/0yhuyxDd82MCogBQ8TZLPETwI=; b=RDHZM8t2yGvQPqGsYOgJUX+DUwrZfPKQLl1243nT1lsV623uI5dRvP4SkfEK75OkvMJAIR7I3KWZLr9ep202m1c8pXbzmdHqY5WJlbqA//hYnlUu9euJiXZeQ/prsSctWOK7HOSGzhjzECT5y0rzlG/HHMUNPJcCPqcPx3kmjDqd3o89cu/+2WATdy5M/G5wOQb3luDQ/x1FM5IE6LoWZ38e5fzC0ZbHD421GwNezcY6hNvWBoex4QoORnfmgIGVGw/lxwANHP1sFhGXboSYIgl0SaQ4t/oamidRjlvQGycYM858yG1BGvvtmxHjFR6QIcl+BWE/JszGO7znlgkPtQ== 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=uqAzm8XhTEhG7o1H6/0yhuyxDd82MCogBQ8TZLPETwI=; b=kcQsAFCc2kVYCpmW3rYTvfG0qaf6B9DzHsqZWAKcTDSXEJRZNdOi0pI906kM5Nvp6GhccA8uuhsASpCB68Xf2NZuxXqKyyd/chZTEvYyJptOqU8aG0J/i8Ioy6eNzRQxl5P5FZXcHlZJQp+ySOAIjIggwsGbu1dhi92xrQKqH+Y= 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 DB8PR04MB7164.eurprd04.prod.outlook.com (2603:10a6:10:129::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.21; Thu, 16 Jun 2022 10:10:27 +0000 Received: from VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::f0cf:687e:22d3:5eb9]) by VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::f0cf:687e:22d3:5eb9%6]) with mapi id 15.20.5332.022; Thu, 16 Jun 2022 10:10:27 +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 v3] crypto/fsl: fsl_hash: Fix crash in flush dcache Date: Thu, 16 Jun 2022 15:40:09 +0530 Message-Id: <20220616101009.809953-1-gaurav.jain@nxp.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: SI2PR01CA0039.apcprd01.prod.exchangelabs.com (2603:1096:4:193::16) 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: 62946f74-ca85-409b-f414-08da4f806f18 X-MS-TrafficTypeDiagnostic: DB8PR04MB7164: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: HFUtcp7gz8f77CxgbxfD1hVrLa5U6cCUOaJk4mahZVK/0fOYIqc/v0lNWmQa0IhKhvUC5QxluXEhHaQuC4wGqbr2xOrds+32yBKfAvSfb9qM1J2Vv435emXhw4BVVNP2XQ+3E0oVSiyx+O9GVILopMjnCxcBXudTfbiFCnWTpges9l6hDLeSKslAFVETjmh0yI5Mg7u9+xPeBmwYKYvHA6sTpiaS4LKvyGs5F6cssZx4/fzBadRPFt5YTG5JqHUnU0KwIStzGEvEEFKbRvp6KG7CG/Vy5UTxhVjSesUxATj+qf8ZTwio3USsDOLPxwQ/wQEfWEqp8rLWYZd2DZtitgeOpzGfwVSH7vHJ+U/39+sCrI/DJoDmfHcc0EqVTH6stj911rWidYmVmRoOqKWfgmuLHLeWyvLS8Nc1T4sNmDO1vpCW87m8ddaUPvKnyS3yty5WBxHVpD750JIfsCxwstyniJihyBKtkI9HwVAWQK4n/PryUCYDi57PRvTC2aYnhQl64WwMf+pPMb7Tj9p2P/4zFzj+8cyUfnSo7pwXFGs2ogE8MShvmaWDhSA5iVaP3ExaqZFQLni1FXkAgFUyAuziIviX1yeYC3Z95I/xurm9SCbXt8JrPf28fa0tJVdnAVkgv93RqH2JJH43VZH/VuJKFT9V2+JeNelHfeHQbpLqtab1o9KGi5y87OrcxNfCMFfauzPZC1V4SJQ5G2QqfQ== 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:(13230016)(4636009)(366004)(54906003)(4326008)(1076003)(6916009)(8676002)(66476007)(2616005)(316002)(86362001)(8936002)(6512007)(55236004)(52116002)(6666004)(6506007)(66946007)(26005)(38100700002)(38350700002)(36756003)(83380400001)(2906002)(6486002)(44832011)(508600001)(66556008)(186003)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0nXKz/UkYfmBmclJsnqH1LfkQOyxf4KF56veWntMXlotTEqSJD/DzxTSd6y3D8O5Ch2G7nZqChXO2JMeKxfa+AAEjmJNnQQzxixmPsabJM6zWHAE+3byqCOSl/h3s3ISsieuoUS1AJI/8Y1LrY+ZZMKbCsl+WyqLlZ7DYT03IwxxATCkoUHjJNH9YAazr1xPHeAkOofRTVIvVd4+gt3bvfGYAJq76tVAGDSSOQDLC9ZVdU9NSmEqZOXRUMEGUZ8m8zCeRhBc761Hc3mAr/9gqFcQPKuJbB4rUiyW9hTSUnQIDKzEHr6Pyl/nL5QUoqNervc8TYUX3gSOqHoNEoH72HKrMfFCnT5K9IqI8tC3AeaJ1fYq1xKkIsYC3FShitsLA0YhzeUgHDBJw7xo6dS8/SGnsAjNq8nXFBoETdtf/dQ412TJFdwu/Hl6rzXTUHZCO3q4Ec6N0CpXFo3FWSNI2Er5rY3gjUGrsqZdVAknC/eavdmFAvqQD8Wmhk3BN17eylrejHi3xu6IdM8gEhHe4CzSjWMp/UAsyHthjSZUlci0xDsvckNvoXeTTMtg5SSFFxL2olu2gLC+K/aqWoi6swWQlhCwTOhs55Eu5iRgZ/Tk1/CSKl/qgbienmX/Hr+N3kgf02GIGkee2pf61dUa1PbW5gsgzUAJ1dWFfa6qV34eLtWHwQ4D0efI9yRn47DT3EYxIWVddcipnXiyKqGZdha5GmYjYN2jaqEH50rVy9+Rwu4T+xfjCRVxZtCKSjo84dQv5MdM79ojvVXFmf6i+iJw8T6dp8BpoVT2XANS8zEh8k7JacJG+3DHsZFhw9VH80SrJasepXNq4pt7MR0G3PzXAHuNFGyO5MmMQNKf3aSVHiuGK28WSCDx9T3pU8eDUQJ8pywvnbnq87AJywpZijsMMWNek4fmj5dpWAXTSD9h0H/YdNJPsmkfJPViAc7dwQPojTkvibg2jXEFJt2R2gV6mTvniKQSGt2dF63W2NlbD0bYehQ54aUyyPz+v1TAmnjW1kFkfXPm5Bfciwuw3nIS/RNCAfc7FtOilHrs63xLefPNQbhR01VeCuQktZMR9hxXlvVIBH4DoF7qrsTJ0yBuz9NFfQiuUbt6G6ciSGtH6r+Z4TmWjxn5YSr7+edUqpHbI1mSyG+kzNNp/DRBeCcK71miGvbZDw1nR85mgCnDE9vl3NIcQZYw+wjIGmml9tEZNpd6WBuc0NDGMDc8AqzfHaKjacKTHznLkNjHmHvAvKd2r8Bc9ygrF+vx3sQIDABEyY/JFiIMUiZgkAGCqr8PBcm6QKT57RMcL2L5yB6g+ME9GfG0JuMOiFlEwn0XBPSUPUiqMG241jjsMJBFCZGJtZP0Md26YcWS/M6ev44sI3/JaUEdZumnryRSghwBOMNopoERfJFV0GRA+hQNw+JsWKw1+nkuC2qVMXQB49q0fgoP2QugdFWUnsOW5wn4NHCafqQOAifE0dG6K3EFdzT8sYRKtM6iewoFGwTviE7Jc+MH1f+UwSIzM4uUdyi02LeNRXbdYqCIdYQUDMxtAmbHKgj1u2sqVHSIZ5aivs6dAVspTPodA1kkudhYu16tIGao2iKnRR/QY3r+Ss/JsS9O8eP0eidsJtiIrHYbZO6OQTilGtevnroZf22bM8i9MkcTvkVF/DBzb5j3/cyHV2j2c1LvvBYNr0zhYP/6mc3WQDiXI4E5GL9pxD/beOB64TS0Nao7MXZMLcRgL8IjD5Dhj6eqlJZkGjQkTV8tGVA= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62946f74-ca85-409b-f414-08da4f806f18 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5342.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2022 10:10:27.1223 (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: nbGX7AYNfSOzQ+Ng+HMnU6FXbVVd+esDCl5W8PECs24sW6sAZdkFa+rAhoz+6F39u+J9OpWo0tlfYbwcfdznuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7164 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 Reviewed-by: Fabio Estevam --- changes in v3: - fix error: left shift count >= width of type [-Werror=shift-count-overflow] drivers/crypto/fsl/fsl_hash.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/fsl/fsl_hash.c b/drivers/crypto/fsl/fsl_hash.c index 9e6829b7ad..f8c5b1772f 100644 --- a/drivers/crypto/fsl/fsl_hash.c +++ b/drivers/crypto/fsl/fsl_hash.c @@ -131,25 +131,35 @@ 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; +#ifdef CONFIG_CAAM_64BIT + addr = sec_in32(&ctx->sg_tbl[i].addr_hi); + addr = (addr << 32) | sec_in32(&ctx->sg_tbl[i].addr_lo); +#else + addr = sec_in32(&ctx->sg_tbl[i].addr_lo); +#endif + flush_dcache_range(addr, 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,