get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1745927,
    "url": "http://patchwork.ozlabs.org/api/patches/1745927/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20230221201925.9644-16-pali@kernel.org/",
    "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": "<20230221201925.9644-16-pali@kernel.org>",
    "list_archive_url": null,
    "date": "2023-02-21T20:18:41",
    "name": "[RFC,u-boot-mvebu,15/59] tools: kwboot: Fix parsing UART image without data checksum",
    "commit_ref": "7665ed2fa04e0726e142e13bcd77b738e912357f",
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "045c0c3601d35744036fb910d4288ad040c2ef3c",
    "submitter": {
        "id": 78810,
        "url": "http://patchwork.ozlabs.org/api/people/78810/?format=api",
        "name": "Pali Rohár",
        "email": "pali@kernel.org"
    },
    "delegate": {
        "id": 1696,
        "url": "http://patchwork.ozlabs.org/api/users/1696/?format=api",
        "username": "stroese",
        "first_name": "Stefan",
        "last_name": "Roese",
        "email": "sr@denx.de"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20230221201925.9644-16-pali@kernel.org/mbox/",
    "series": [
        {
            "id": 343058,
            "url": "http://patchwork.ozlabs.org/api/series/343058/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=343058",
            "date": "2023-02-21T20:18:27",
            "name": "arm: mvebu: Various fixes",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/343058/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1745927/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1745927/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 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=<UNKNOWN>)",
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=DB4DWPpr;\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kernel.org",
            "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=kernel.org header.i=@kernel.org header.b=\"DB4DWPpr\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kernel.org",
            "phobos.denx.de; spf=pass smtp.mailfrom=pali@kernel.org"
        ],
        "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 (P-384))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4PLrxL2kFlz23j7\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Feb 2023 07:49:10 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 27C9085AA1;\n\tTue, 21 Feb 2023 21:48:42 +0100 (CET)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 5FC8385A7C; Tue, 21 Feb 2023 21:48:36 +0100 (CET)",
            "from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 4D6CD85AAA\n for <u-boot@lists.denx.de>; Tue, 21 Feb 2023 21:22:42 +0100 (CET)",
            "from smtp.kernel.org (relay.kernel.org [52.25.139.140])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by ams.source.kernel.org (Postfix) with ESMTPS id 7AA0BB810C5;\n Tue, 21 Feb 2023 20:22:33 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id 0662FC433A7;\n Tue, 21 Feb 2023 20:22:33 +0000 (UTC)",
            "by pali.im (Postfix)\n id CC09A2832; Tue, 21 Feb 2023 21:22:29 +0100 (CET)"
        ],
        "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,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,\n SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n s=k20201202; t=1677010953;\n bh=2UoY7DTiEhspyqSzpJqzWtnVc9kyCSsUaHo6mCnbjfc=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=DB4DWPprvg1V1znuYrr+GXMdOnGYFgD6og1QYfjLW4IQMQT796kRWTd1/JeFmqBk1\n bjocwWABZP5EZnCaNJp47zcU3ZLFJRkQG5caIIvHKdmTbayvA1XY+KuourXvjjZGks\n 46ouKiPOobOvW8TLrVFxF8LvwCcAlQWYy3ErRvUvVlo7pFcJrpBN+gPu6thJiQCUvq\n iFXDWpjDnUtSnG6QbHac2SIL5mTbR1YZajijZAy/0cwUicLX7QQ4Huhl4whRkmYvu3\n 38/q+DSREENp7nDE3AfulvCCXeHR/fz62VsXQL2H+AbGR/yGpgarZppXpm0FpXcezO\n PtOINJ+5c81mA==",
        "From": "=?utf-8?q?Pali_Roh=C3=A1r?= <pali@kernel.org>",
        "To": "u-boot@lists.denx.de",
        "Cc": "Stefan Roese <sr@denx.de>, Tony Dinh <mibodhi@gmail.com>,\n Josua Mayer <josua@solid-run.com>",
        "Subject": "[PATCH RFC u-boot-mvebu 15/59] tools: kwboot: Fix parsing UART image\n without data checksum",
        "Date": "Tue, 21 Feb 2023 21:18:41 +0100",
        "Message-Id": "<20230221201925.9644-16-pali@kernel.org>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20230221201925.9644-1-pali@kernel.org>",
        "References": "<20230221201925.9644-1-pali@kernel.org>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "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.6 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "The 32-bit data checksum in UART image is not checked by the BootROM and\nalso Marvell tools do not generate it.\n\nSo if data checksum stored in UART image does not match calculated checksum\nfrom the image then treat those checksum bytes as part of the executable\nimage code (and not as the checksum) and for compatibility with the rest of\nthe code manually insert data checksum into the in-memory image after the\nexecutable code, without overwriting it.\n\nThis should allow to boot UART images generated by Marvell tools.\n\nSigned-off-by: Pali Rohár <pali@kernel.org>\n---\n tools/kwboot.c | 15 +++++++++++++--\n 1 file changed, 13 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/tools/kwboot.c b/tools/kwboot.c\nindex 7a7dd5bf3d7b..da840864b565 100644\n--- a/tools/kwboot.c\n+++ b/tools/kwboot.c\n@@ -1990,8 +1990,18 @@ kwboot_img_patch(void *img, size_t *size, int baudrate)\n \t    *size < le32_to_cpu(hdr->srcaddr) + le32_to_cpu(hdr->blocksize))\n \t\tgoto err;\n \n-\tif (kwboot_img_csum32(img) != *kwboot_img_csum32_ptr(img))\n-\t\tgoto err;\n+\t/*\n+\t * The 32-bit data checksum is optional for UART image. If it is not\n+\t * present (checksum detected as invalid) then grow data part of the\n+\t * image for the checksum, so it can be inserted there.\n+\t */\n+\tif (kwboot_img_csum32(img) != *kwboot_img_csum32_ptr(img)) {\n+\t\tif (hdr->blockid != IBR_HDR_UART_ID) {\n+\t\t\tfprintf(stderr, \"Image has invalid data checksum\\n\");\n+\t\t\tgoto err;\n+\t\t}\n+\t\tkwboot_img_grow_data_right(img, size, sizeof(uint32_t));\n+\t}\n \n \tis_secure = kwboot_img_is_secure(img);\n \n@@ -2256,6 +2266,7 @@ main(int argc, char **argv)\n \t\t\t\t KWBOOT_XM_BLKSZ +\n \t\t\t\t sizeof(kwboot_baud_code) +\n \t\t\t\t sizeof(kwboot_baud_code_data_jump) +\n+\t\t\t\t sizeof(uint32_t) +\n \t\t\t\t KWBOOT_XM_BLKSZ;\n \n \tif (imgpath) {\n",
    "prefixes": [
        "RFC",
        "u-boot-mvebu",
        "15/59"
    ]
}