From patchwork Tue Aug 16 12:45:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janne Ylalehto X-Patchwork-Id: 1667049 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=P46eTnog; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4M6p4Y6291z1yft for ; Wed, 17 Aug 2022 09:58:03 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A129E84948; Wed, 17 Aug 2022 01:57:57 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="P46eTnog"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1E5C98499C; Tue, 16 Aug 2022 14:45:32 +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.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4946184934 for ; Tue, 16 Aug 2022 14:45:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=ylalehto@gmail.com Received: by mail-lj1-x230.google.com with SMTP id x9so10381745ljj.13 for ; Tue, 16 Aug 2022 05:45:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc; bh=zTJZvzS/07a1kr/WTmA8/OR+INTOY+3uRzI/I0Db/Ws=; b=P46eTnogG+3Cgvz93Fct4ojUNUiwHWiwGyQnTYq0xPuoXfuR1u3x+jz6mHkeTDJSfg pVjZAuMQZKw9Sl9gooPCZmNpL99rFZSEOgsSiYTeaOoinqRGYZWJ05HE1FlSP/FJF9PE ey4mocoJPiyU8kzm87/ZZG4bOzKXjY1T4YUEzH33aoqOphAGg5/3KrG/43pzCCYlaAKb 86rHyQHXBV9MDxA/N0F1wKGbDkM3Ii9BSAQaw2NBSYPeB5zHU44NVkIbiYFgn713ZiUd NgCWSpT78l5bg5q/Z2zIFmvXt/GpEFfDn9kxGqHKRtSB7DLA8F828zLIKj5eAFNf252c K43A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc; bh=zTJZvzS/07a1kr/WTmA8/OR+INTOY+3uRzI/I0Db/Ws=; b=bBkIGTC98Y6aoC5DvZuVvZPqTOVTfK5H71G6Uzr7EjCGkkpK1yWfpZHY3l/E5pPhHw BSx1rVD9DtQHoapVWrLu7DnC+S6R3HHI6HvA2U4RVKXIOPqdBDfe/wu+FCOPw0WohOfm KtwrVZgwYYSk5fcHEmKWFaZKK3J/PapGhnAKMX6LY+xNuhN1+wBft37EDzZm3+mJx6M0 E/FPW3oVZNTXQZiqkDGNfIGIktvkHUU7bptaMpQXMAlTqYtPCXZBwgUC9nFlFWUq1Xbk endn3zMYQjSUOZoNL/ApR8JEdtqu09MrAyYXtYyhrTS5jc3nCFAkURBJklvUIgYyJx2T b6Ng== X-Gm-Message-State: ACgBeo3wOy8+HxFZRgLOOmAEr8+toNa8fhjop1W6sofziiVptBw/pGqG s7/m+zfPCwzKEN92SCoQOQ1YWZWBTG7kvg== X-Google-Smtp-Source: AA6agR4EYcg8p2tTxR1fUhhVjaP3tVratcJguO9GH8MhaVhFeHIFaRxS0jor+dRWkx4Gf3KtKy645w== X-Received: by 2002:a2e:b0e8:0:b0:261:8b4d:7c56 with SMTP id h8-20020a2eb0e8000000b002618b4d7c56mr2888441ljl.50.1660653928518; Tue, 16 Aug 2022 05:45:28 -0700 (PDT) Received: from localhost.localdomain (91-154-3-168.elisa-laajakaista.fi. [91.154.3.168]) by smtp.gmail.com with ESMTPSA id q11-20020a056512210b00b0048a7d33e0f0sm1376898lfr.261.2022.08.16.05.45.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 05:45:28 -0700 (PDT) From: Janne Ylalehto To: u-boot@lists.denx.de Cc: Janne Ylalehto , Michal Simek Subject: [PATCH] xilinx: zynqmp: Fix AES with a user provided key Date: Tue, 16 Aug 2022 15:45:25 +0300 Message-Id: <20220816124525.19671-1-ylalehto@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 17 Aug 2022 01:57:56 +0200 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.6 at phobos.denx.de X-Virus-Status: Clean The user provided key address was not flushed in struct aes because of the flushing location in the function. Signed-off-by: Janne Ylalehto --- board/xilinx/zynqmp/cmds.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/board/xilinx/zynqmp/cmds.c b/board/xilinx/zynqmp/cmds.c index 2ab9596248..e20030ecda 100644 --- a/board/xilinx/zynqmp/cmds.c +++ b/board/xilinx/zynqmp/cmds.c @@ -142,9 +142,6 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc, aes->keysrc = hextoul(argv[6], NULL); aes->dstaddr = hextoul(argv[7], NULL); - flush_dcache_range((ulong)aes, (ulong)(aes) + - roundup(sizeof(struct aes), ARCH_DMA_MINALIGN)); - if (aes->srcaddr && aes->ivaddr && aes->dstaddr) { flush_dcache_range(aes->srcaddr, (aes->srcaddr + @@ -169,6 +166,9 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc, ARCH_DMA_MINALIGN))); } + flush_dcache_range((ulong)aes, (ulong)(aes) + + roundup(sizeof(struct aes), ARCH_DMA_MINALIGN)); + ret = xilinx_pm_request(PM_SECURE_AES, upper_32_bits((ulong)aes), lower_32_bits((ulong)aes), 0, 0, ret_payload); if (ret || ret_payload[1])