Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2219983/?format=api
{ "id": 2219983, "url": "http://patchwork.ozlabs.org/api/patches/2219983/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260405135446.415680-1-cryosay@gmail.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260405135446.415680-1-cryosay@gmail.com>", "list_archive_url": null, "date": "2026-04-05T13:54:43", "name": "DM: crypto/fsl: fix unaligned exponent handling in fsl_rsa", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "f341a3c2bf252a835f3dba6928e353fbac094c59", "submitter": { "id": 77017, "url": "http://patchwork.ozlabs.org/api/people/77017/?format=api", "name": "Oleksandr Suvorov", "email": "cryosay@gmail.com" }, "delegate": { "id": 55230, "url": "http://patchwork.ozlabs.org/api/users/55230/?format=api", "username": "freenix", "first_name": "Peng", "last_name": "Fan", "email": "van.freenix@gmail.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260405135446.415680-1-cryosay@gmail.com/mbox/", "series": [ { "id": 498787, "url": "http://patchwork.ozlabs.org/api/series/498787/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=498787", "date": "2026-04-05T13:54:43", "name": "DM: crypto/fsl: fix unaligned exponent handling in fsl_rsa", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/498787/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2219983/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2219983/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=O50i2WMi;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.b=\"O50i2WMi\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=cryosay@gmail.com" ], "Received": [ "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fpZPM1Fqhz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 06 Apr 2026 00:20:39 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 2F0568352B;\n\tSun, 5 Apr 2026 16:20:29 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id 86B208394E; Sun, 5 Apr 2026 15:54:52 +0200 (CEST)", "from mail-wr1-x434.google.com (mail-wr1-x434.google.com\n [IPv6:2a00:1450:4864:20::434])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 6E9E88341A\n for <u-boot@lists.denx.de>; Sun, 5 Apr 2026 15:54:50 +0200 (CEST)", "by mail-wr1-x434.google.com with SMTP id\n ffacd0b85a97d-43d02a71526so1861628f8f.3\n for <u-boot@lists.denx.de>; Sun, 05 Apr 2026 06:54:50 -0700 (PDT)", "from CryoVivoBook.. ([91.244.24.228])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43d1e4f5016sm34481118f8f.33.2026.04.05.06.54.48\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sun, 05 Apr 2026 06:54:48 -0700 (PDT)" ], "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,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM,\n RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no\n autolearn_force=no version=3.4.2", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1775397289; x=1776002089; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=1wYWLX5/1KPXWZYVn+AWyQw2nGGMSWtIQtlZ7m+uHyM=;\n b=O50i2WMic0xNSfq5sMPGbHuizw3FvMJLarbCZRme72h1wXSB8XV6tH66WKZnCeh5y1\n GyInUBoP9CloWq/lfxMSuVp1qYO5knZCK34o4H1QQXNkkcX0W/NyO0VPtbcMBrrhFYU9\n UQpprjFZhTvEu1rUcy8qv6CJ+dTydcznf2oOXBLTVgXn86koDBip1M1xFDypA9NiTaQo\n s5CqoEfWEnexIakgQBYwJrmsoXwgtnVRUUqR7gRlACd+L1kdSYD+tOb1Z3UHFlWASsmS\n ku+O7JIlCLCjCW4/qei+j5BKOxIaRy8PzWOwFH1uCTxs2BlMh5luRxSpSOHuAaX77D67\n XpKQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775397289; x=1776002089;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=1wYWLX5/1KPXWZYVn+AWyQw2nGGMSWtIQtlZ7m+uHyM=;\n b=rNSh0uUWT6s8C2rO7IPur0KPekC6WsA5S1z8AAw3mQDZmAMnQ0/Fiyk8UWwQ0YfEzH\n VpOtV1mD7c6IHU20TpcpoSa0oM+m2REupm8PU0fESCiO/MxaWY+sxgvvJF6UflJWuhPf\n ZjiJv40Z/Beit/mVUIEC1ne9ewIfmrsgKIYMywpyOYHdLy9a+ghZndXmSek9bZ0dJJJv\n 007sXp3AeY6tgxuSfJwrpcWP/GuUJ8nnbQX5Wyd/Nn8L+kOo/Sn0BT8WbWBzzE364Jsq\n bPRpUtpLKzVeHus0s3/cAAlp1kFlcYKhQ4xJDbOc/NWFs7IZtwsHHx3Dyj9wXIZZ2V4I\n UEVw==", "X-Gm-Message-State": "AOJu0YwDt+aALl0lGCGS94hYyC6Cn2gJM29KTsD+tdmsYE0ZZwZvCUs8\n E3sgAtT3QqCAaT3j6hnyD7KTQ+5PlNmtREgNPJCitAPiaQHFfFjV0Qdbtb4uSQ==", "X-Gm-Gg": "AeBDiev9jZbWC+IsY/PGI7u/dujPvtzw60Hy+gPxaYiwKouffLYYw/rlGE/iVpTMfb9\n iRHaq7u6TOZKDkQzHvMeki3tB8ENTdeNRNzvc9u5M+jC1Rq6UxObK7oi9qNPe5GnAYOhhXJWAJl\n FAJNBSbuJt5fXcaL1b5Cvwd/6INZPMGrQG+P0es9DbriDDD9OQpQop0mv2CrxzQFZ+3Fhu9dIHD\n OHeualGKiDrwYECMlzfkB+eD8x8jcQxsS7yRCzB4F9KYjhPEs8fc11Uv9g1qqyiaGzHdNwXhiKk\n R86WtPdgrtroAh8+tPvZEYDzqUrj/Lsk5h+PaC7VzlLBLttH/BgaRIOhz9GjCx+mRXhk8fE8KV+\n 2BLNEvdR1708wmhr5hI4fJPIu23CJirWuMtjdy+c7b+cePCIGYoKp6ixRrlhiMqxaCJiEYbN+W5\n C9HM7i9h9yVHRd+olGpFZxlHNEa6WCjKYfwg==", "X-Received": "by 2002:a05:6000:1a8d:b0:43c:f793:f1b0 with SMTP id\n ffacd0b85a97d-43d292ff470mr13477526f8f.40.1775397289322;\n Sun, 05 Apr 2026 06:54:49 -0700 (PDT)", "From": "Oleksandr Suvorov <cryosay@gmail.com>", "To": "u-boot@lists.denx.de", "Cc": "Oleksandr Suvorov <cryosay@gmail.com>, Gaurav Jain <gaurav.jain@nxp.com>,\n Ruchika Gupta <ruchika.gupta@nxp.com>, Simon Glass <sjg@chromium.org>,\n Tom Rini <trini@konsulko.com>", "Subject": "[PATCH] DM: crypto/fsl: fix unaligned exponent handling in fsl_rsa", "Date": "Sun, 5 Apr 2026 16:54:43 +0300", "Message-ID": "<20260405135446.415680-1-cryosay@gmail.com>", "X-Mailer": "git-send-email 2.43.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Mailman-Approved-At": "Sun, 05 Apr 2026 16:20:27 +0200", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "The RSA verification path loads the public exponent from the FIT key\nnode with fdt_getprop(). That property buffer is not guaranteed to be\nnaturally aligned. On ARM64 this can lead to a synchronous abort when\nfsl_rsa uses the exponent value directly during verified boot.\n\nFix the driver by copying the exponent into an aligned local buffer\nbefore building the CAAM RSA job descriptor. Read the value with the\npointer-safe fdt64_to_cpu() helper and pass the aligned copy to the\nengine instead of the original FDT property buffer.\n\nAlso flush the cache for the aligned exponent buffer actually consumed\nby CAAM so the cache maintenance matches the data path used by the\nhardware.\n\nThis keeps RSA verification functional while avoiding crashes caused by\nunaligned FDT property access.\n\n[1]\n---\n\nTrying to boot from MMC2\n sha256,rsa2048:dev\"Synchronous Abort\" handler, esr 0x96000021\n elr: 00000000007e737c lr : 00000000007e6e78\n x 0: 00000000007fd1e4 x 1: 0000000000000100\n x 2: 0000000000000800 x 3: 000000000091d420\n x 4: 000000000091d420 x 5: 000000000091d588\n x 6: 00000000401ff9b8 x 7: 0000000000000003\n x 8: 000000000091d49c x 9: 0000000000000002\n...\n Code: f94008a0 2a0103f4 aa0303f5 b40005c0 (f9400003)\n Resetting CPU ...\n---\n\nFixes: 34276478f7b7 (\"DM: crypto/fsl - Add Freescale rsa DM driver\")\nSigned-off-by: Oleksandr Suvorov <cryosay@gmail.com>\n---\n drivers/crypto/fsl/fsl_rsa.c | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)", "diff": "diff --git a/drivers/crypto/fsl/fsl_rsa.c b/drivers/crypto/fsl/fsl_rsa.c\nindex 125a72ae6d3..053e1862bc4 100644\n--- a/drivers/crypto/fsl/fsl_rsa.c\n+++ b/drivers/crypto/fsl/fsl_rsa.c\n@@ -23,6 +23,7 @@ int fsl_mod_exp(struct udevice *dev, const uint8_t *sig, uint32_t sig_len,\n \tstruct pk_in_params pkin;\n \tuint32_t desc[MAX_CAAM_DESCSIZE];\n \tint ret;\n+\tfdt64_t exp = fdt64_to_cpu(prop->public_exponent);\n \n \t/* Length in bytes */\n \tkeylen = prop->num_bits / 8;\n@@ -31,15 +32,14 @@ int fsl_mod_exp(struct udevice *dev, const uint8_t *sig, uint32_t sig_len,\n \tpkin.a_siz = sig_len;\n \tpkin.n = prop->modulus;\n \tpkin.n_siz = keylen;\n-\tpkin.e = prop->public_exponent;\n+\tpkin.e = (void *)&exp;\n \tpkin.e_siz = prop->exp_len;\n \n \tinline_cnstr_jobdesc_pkha_rsaexp(desc, &pkin, out, sig_len);\n \n \tflush_dcache_range((ulong)sig, (ulong)sig + sig_len);\n \tflush_dcache_range((ulong)prop->modulus, (ulong)(prop->modulus) + keylen);\n-\tflush_dcache_range((ulong)prop->public_exponent,\n-\t\t\t (ulong)(prop->public_exponent) + prop->exp_len);\n+\tflush_dcache_range((ulong)&exp, (ulong)&exp + prop->exp_len);\n \tflush_dcache_range((ulong)desc, (ulong)desc + (sizeof(uint32_t) * MAX_CAAM_DESCSIZE));\n \tflush_dcache_range((ulong)out, (ulong)out + sig_len);\n \n", "prefixes": [] }