get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2218654/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2218654,
    "url": "http://patchwork.ozlabs.org/api/patches/2218654/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260401153525.1541415-1-yan.wang@softathome.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": "<20260401153525.1541415-1-yan.wang@softathome.com>",
    "list_archive_url": null,
    "date": "2026-04-01T15:35:23",
    "name": "[1/3] tools: binman: Test signing an encrypted FIT with a preload header",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "ec97fa3db10d826635c338beb2b0e196347e2aaa",
    "submitter": {
        "id": 90652,
        "url": "http://patchwork.ozlabs.org/api/people/90652/?format=api",
        "name": "yan wang",
        "email": "yan.wang@softathome.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260401153525.1541415-1-yan.wang@softathome.com/mbox/",
    "series": [
        {
            "id": 498351,
            "url": "http://patchwork.ozlabs.org/api/series/498351/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=498351",
            "date": "2026-04-01T15:35:23",
            "name": "[1/3] tools: binman: Test signing an encrypted FIT with a preload header",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/498351/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2218654/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218654/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=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector1-softathome1-onmicrosoft-com\n header.b=o5r2C6Ut;\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=none (p=none dis=none) header.from=softathome.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=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.b=\"o5r2C6Ut\";\n\tdkim-atps=neutral",
            "phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=softathome.com",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=yan.wang@softathome.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)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fm8Fy68rBz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 02:35:50 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 3DCF583CE3;\n\tWed,  1 Apr 2026 17:35:41 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 1E64983CF5; Wed,  1 Apr 2026 17:35:40 +0200 (CEST)",
            "from MRZP264CU002.outbound.protection.outlook.com\n (mail-francesouthazlp170100001.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c207::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id BF87180517\n for <u-boot+nodisclaimer@lists.denx.de>;\n Wed,  1 Apr 2026 17:35:37 +0200 (CEST)",
            "from PA7P264CA0446.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:398::29)\n by MR1P264MB2657.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:36::12) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Wed, 1 Apr\n 2026 15:35:32 +0000",
            "from PA2PEPF00019231.FRAP264.PROD.OUTLOOK.COM\n (2603:10a6:102:398:cafe::a3) by PA7P264CA0446.outlook.office365.com\n (2603:10a6:102:398::29) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9745.30 via Frontend Transport; Wed,\n 1 Apr 2026 15:35:35 +0000",
            "from proxy.softathome.com (149.6.166.170) by\n PA2PEPF00019231.mail.protection.outlook.com (10.167.242.37) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.17\n via Frontend Transport; Wed, 1 Apr 2026 15:35:32 +0000",
            "from sah1lpt719.softathome.com (unknown [192.168.72.213])\n by proxy.softathome.com (Postfix) with ESMTPSA id 67B921FFE9;\n Wed,  1 Apr 2026 17:35: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=0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,SPF_PASS,\n SUSPICIOUS_RECIPS autolearn=no autolearn_force=no version=3.4.2",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=bjY7/Kc3t2+KgFVV/bcyyMBELcZ2AljYBAlBkyTToGoBzFcjFYQPVSchsWVVTUsmav+UoBoTLVIjXWuOD5y0609+j6iWgMQG/b7nSrSrBzKydSejx8YIhRR+quJBcgEkzkvzyJUQW7itd6ryoT6JdUPBxojrofmfbe5g4iZ7wqXubx4YEpaROvmHvYrDSayfdVVhyZQPF0VV2BWRqAWHOlT0GoOsTfAJGpNtG2K4YYOy1O034C64aNj6yssfUyObJZw1kAkkIExwU1485vn8vPFAVFYHX1bE1YnGNgucbNt4pVopwcpbZF3KrwFCbedLGpkOr36soRm4QOgL4ZXw7w==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=/zE3h/ehRaNz3k0teU8N6zMmtftfn0Z2lwVGDMSTjcU=;\n b=R+LZofWFP6SKP6UY7v9Dgpy7dx24cXBEx5VEuSJcJS0Q8z8zuDGzaTipBzbLLZlhEAhCWglU9GX5QXbF4YkwF4I1fv/m4hkT4HlAwwQM1gx/mslLVG+htXL71weaZkZvh4JR4HW/r+ZieeYhF4a9i9hIJg7D7fRMtpuN4IFsUbyQjl4zX2S2vaHuF0ILOv37RT6ibwHhmx2QZudEkO935FW6Szy8xcB8kSkZwuA071GQla3L31tPWghQr9USz9HDdAiFN/Qh5Szhg4aI1u12GUJy+rgr8ML1ynvvUJolzvNaPF4ttDj4jJWeEBWVsvjfBu49D3yPiKWZ1JKbCpBrNg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 149.6.166.170) smtp.rcpttodomain=chromium.org smtp.mailfrom=softathome.com;\n dmarc=bestguesspass action=none header.from=softathome.com; dkim=none\n (message not signed); arc=none (0)",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=softathome1.onmicrosoft.com; s=selector1-softathome1-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=/zE3h/ehRaNz3k0teU8N6zMmtftfn0Z2lwVGDMSTjcU=;\n b=o5r2C6UtMPZ/4S/kWEVAH55VGELmro37TiHWbiIPQRawnSxSQQMfRLNuxdVSa1MNjTSlavC343G0OOLs7kLIy+3c3/TO1d+ElBGLyXH+3thuTIexpHD65662B1baHMMuWdZcdM+jRRegsvcZJ4X64YkxTCEGMY8MPBqsgSGyEuAG9ibzyhnsPQI3ZWpT65mNeJr1vLZ9oDPY8/ZmUCct3TxX3oxyhKLwPB6JL3lRBY6hKQ9bbdTDxIykM17VKtlJ8IkNsMPZRRdA7Lyndwrr2wmS8TdqbdIyvX/9Hpxor1iiwCxQFsXINrZRF2gAHzRGS1JOTerORh4XL4GmmkWKGw==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 149.6.166.170)\n smtp.mailfrom=softathome.com; dkim=none (message not signed)\n header.d=none;dmarc=bestguesspass action=none header.from=softathome.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of softathome.com\n designates 149.6.166.170 as permitted sender)\n receiver=protection.outlook.com; client-ip=149.6.166.170;\n helo=proxy.softathome.com; pr=C",
        "From": "yan wang <yan.wang@softathome.com>",
        "To": "trini+nodisclaimer@konsulko.com, sjg+nodisclaimer@chromium.org,\n alpernebiyasak+nodisclaimer@gmail.com",
        "Cc": "philippe.reynes+nodisclaimer@softathome.com,\n paul.henrys_ext+nodisclaimer@softathome.com,\n yan.wang+nodisclaimer@softathome.com, u-boot+nodisclaimer@lists.denx.de,\n Paul HENRYS <paul.henrys_ext@softathome.com>",
        "Subject": "[PATCH 1/3] tools: binman: Test signing an encrypted FIT with a\n preload header",
        "Date": "Wed,  1 Apr 2026 17:35:23 +0200",
        "Message-Id": "<20260401153525.1541415-1-yan.wang@softathome.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "PA2PEPF00019231:EE_|MR1P264MB2657:EE_",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "d9f9645b-dd6b-4ba2-3ed8-08de90044fc9",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|376014|36860700016|82310400026|1800799024|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n vtu6TgeEtGWtvOcYwyoaLg8lfbSKXOyQ6L6D5IPSNo13hrmIe6vwBQqXJgoymPIUGxfde5Dz75OOhzddA4TlPoN6NvQTl3qRNscY5+52xLN3/Z6U7py3oLSVoBhJm8qZPEa77xIWs87DpqWN9EytUoHo4w4OfOP7muy9rQqmRUa+M5qgUv8X5OwXX3P/YQqYmb9BdEU8EkM25zm/vyjPk/B4W27Qtsfv7YEdLaK/YUfIKeIgA2n9MP7Tx78uVNQak63BHHKfn8mX+SzIdGBxd+zTe3x+Xdz5innFVxeJAEvcndBFLretrtRu0v+jyQaYG38Z9fhiygVepYwhjgWzwJeUCj55GRDMlg1zpVBEgdi8uPR0iEWp3djcx1hFolWlV1V23njzIAf5b43IT25cPznGaL+0URrQvLLFypvO3WadXnPxgIRlRTzIkT2836NKL+SS0jWtLdeI/sAU8V/YCOzHbmQu7ynZPmvB0vFMzGRvGXoPRl34zhlK1LaSotad17+inC7kw0261b3d2PaweWEm3Jq3qI9cNvgvCxe9H+AQmCXVbbAow9NnNzx0NZUxse7Xgv/0rWc3AI+EIELtbrehbWi8PuzgcEujDhy2tuiQGmEBFrhxNhO0PUKG/yNd/IyHfUI4T5NLmEQUQBjH7H5+RfGRDKxFmh3xZxK3LoT33voP0fR01kyi/k6NrO8fVt/r0AJdu9VUtagG7SjV9ZLWRLUKIFjtqJGXRcBGsyUZzgT++b4d9TrQes54tf1vmwwOl7DlCns3LYTDA+Stvw==",
        "X-Forefront-Antispam-Report": "CIP:149.6.166.170; CTRY:FR; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:proxy.softathome.com; PTR:InfoDomainNonexistent;\n CAT:NONE;\n SFS:(13230040)(376014)(36860700016)(82310400026)(1800799024)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n TTDH+CEejDJhBonkUNPErEj47D8Qek3gQGwGIZ+ANrIdk8fnJSFNmbaftVH1hiXoA2Llzos56ST0qVFKTEenZHl6Fy4Le3Ln+nnre+TluPpmyK8hJm1FcsislAMr6F2d6iEYY+vxb/qEcuFVD8c4+BEpPF7WHtcAVGyYyOl0lrbHe1C3RrnA1EgQ+nctemzmDproTgg0Au6xBYqJvMJ8bgnrRAnESqHhSnQIsj+cxF/oKVAdAveZ7CkqKxur8firxjo7m1MOJYDVa6ni3M/Lhc5q+Is7WkEI7AlQ9LEckI0CnHrZKhn+nvxmlaJzVSy6ZTSwI8ZvQLjGNPvR2TcjhNfSxVd/vzMP3B/cW+hGOvuBIjrWh9PixH1X/JeUsSNahU73xarO13TU7Ccy4F94SPXawz/vzL6k4c3uhwUXviPdXVN/q+9YzfSF7vrOy5DX",
        "X-OriginatorOrg": "softathome.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "01 Apr 2026 15:35:32.5569 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n d9f9645b-dd6b-4ba2-3ed8-08de90044fc9",
        "X-MS-Exchange-CrossTenant-Id": "aa10e044-e405-4c10-8353-36b4d0cce511",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=aa10e044-e405-4c10-8353-36b4d0cce511; Ip=[149.6.166.170];\n Helo=[proxy.softathome.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "PA2PEPF00019231.FRAP264.PROD.OUTLOOK.COM",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MR1P264MB2657",
        "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": "From: Paul HENRYS <paul.henrys_ext@softathome.com>\n\nThis test is added to work on issue currently faced with binman.\nBinman calls multiple times mkimage and thus generates the FIT multiple\ntimes and the last call happens after the preload header has been\ngenerated. When encrypting the image with a random IV or if the timestamp\nin the FIT has changed between the 2 last calls of mkimage, the preload\nheader would not sign the correct data leading to a corrupted image.\n\nSigned-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>\n---\n tools/binman/ftest.py                         | 17 +++++\n .../test/336_pre_load_fit_encrypted.dts       | 63 +++++++++++++++++++\n 2 files changed, 80 insertions(+)\n create mode 100644 tools/binman/test/336_pre_load_fit_encrypted.dts",
    "diff": "diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py\nindex a53e37f31b3..3b5014e1e87 100644\n--- a/tools/binman/ftest.py\n+++ b/tools/binman/ftest.py\n@@ -5894,6 +5894,23 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n             data = self._DoReadFileDtb('236_pre_load_invalid_key.dts',\n                                        entry_args=entry_args)\n \n+    def testPreLoadEncryptedFit(self):\n+        \"\"\"Test an encrypted FIT image with a pre-load header\"\"\"\n+        entry_args = {\n+            'pre-load-key-path': os.path.join(self._binman_dir, 'test'),\n+        }\n+        data = self._DoReadFileDtb(\n+            '336_pre_load_fit_encrypted.dts', entry_args=entry_args,\n+            extra_indirs=[os.path.join(self._binman_dir, 'test')])[0]\n+\n+        image_fname = tools.get_output_filename('image.bin')\n+        is_signed = self._CheckPreload(image_fname, self.TestFile(\"dev.key\"))\n+\n+        self.assertEqual(PRE_LOAD_MAGIC, data[:len(PRE_LOAD_MAGIC)])\n+        self.assertEqual(PRE_LOAD_VERSION, data[4:4 + len(PRE_LOAD_VERSION)])\n+        self.assertEqual(PRE_LOAD_HDR_SIZE, data[8:8 + len(PRE_LOAD_HDR_SIZE)])\n+        self.assertEqual(is_signed, True)\n+\n     def _CheckSafeUniqueNames(self, *images):\n         \"\"\"Check all entries of given images for unsafe unique names\"\"\"\n         for image in images:\ndiff --git a/tools/binman/test/336_pre_load_fit_encrypted.dts b/tools/binman/test/336_pre_load_fit_encrypted.dts\nnew file mode 100644\nindex 00000000000..f5e9bf9426c\n--- /dev/null\n+++ b/tools/binman/test/336_pre_load_fit_encrypted.dts\n@@ -0,0 +1,63 @@\n+// SPDX-License-Identifier: GPL-2.0+\n+\n+/dts-v1/;\n+\n+/ {\n+\t#address-cells = <1>;\n+\t#size-cells = <1>;\n+\n+\tbinman {\n+\t\tpre-load {\n+\t\t\tcontent = <&image>;\n+\t\t\talgo-name = \"sha256,rsa2048\";\n+\t\t\tkey-name = \"dev.key\";\n+\t\t\theader-size = <4096>;\n+\t\t\tversion = <0x11223344>;\n+\t\t};\n+\n+\t\timage: fit {\n+\t\t\tfit,encrypt;\n+\t\t\tdescription = \"Test a FIT with encrypted data and signed with a preload\";\n+\t\t\t#address-cells = <1>;\n+\n+\t\t\timages {\n+\t\t\t\tu-boot {\n+\t\t\t\t\tdescription = \"U-Boot\";\n+\t\t\t\t\ttype = \"firmware\";\n+\t\t\t\t\tarch = \"arm64\";\n+\t\t\t\t\tos = \"U-Boot\";\n+\t\t\t\t\tcompression = \"none\";\n+\t\t\t\t\tload = <00000000>;\n+\t\t\t\t\tentry = <00000000>;\n+\t\t\t\t\tcipher {\n+\t\t\t\t\t\talgo = \"aes256\";\n+\t\t\t\t\t\tkey-name-hint = \"aes256\";\n+\t\t\t\t\t};\n+\t\t\t\t\tu-boot-nodtb {\n+\t\t\t\t\t};\n+\t\t\t\t};\n+\t\t\t\tfdt-1 {\n+\t\t\t\t\tdescription = \"Flattened Device Tree blob\";\n+\t\t\t\t\ttype = \"flat_dt\";\n+\t\t\t\t\tarch = \"arm64\";\n+\t\t\t\t\tcompression = \"none\";\n+\t\t\t\t\tcipher {\n+\t\t\t\t\t\talgo = \"aes256\";\n+\t\t\t\t\t\tkey-name-hint = \"aes256\";\n+\t\t\t\t\t};\n+\t\t\t\t\tu-boot-dtb {\n+\t\t\t\t\t};\n+\t\t\t\t};\n+\t\t\t};\n+\n+\t\t\tconfigurations {\n+\t\t\t\tdefault = \"conf-1\";\n+\t\t\t\tconf-1 {\n+\t\t\t\t\tdescription = \"Boot U-Boot with FDT blob\";\n+\t\t\t\t\tfirmware = \"u-boot\";\n+\t\t\t\t\tfdt = \"fdt-1\";\n+\t\t\t\t};\n+\t\t\t};\n+\t\t};\n+\t};\n+};\n",
    "prefixes": [
        "1/3"
    ]
}